diff --git a/cargo-timing-20201219T141435Z.html b/cargo-timing-20201219T141435Z.html new file mode 100644 index 000000000..ebcf35033 --- /dev/null +++ b/cargo-timing-20201219T141435Z.html @@ -0,0 +1,24823 @@ + + + + Cargo Build Timings — lemmy_server 0.0.1 + + + + + +

Cargo Build Timings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Targets:lemmy_server 0.0.1 (bin "lemmy_server", lib)
Profile:dev
Fresh units:0
Dirty units:421
Total units:421
Max concurrency:12 (jobs=12 ncpu=12)
Build start:2020-12-19T14:14:35Z
Total time:224.1s (3m 44.1s)
rustc:rustc 1.50.0-nightly (825637983 2020-11-18)
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Max (global) rustc threads concurrency:0
+ + + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UnitTotalCodegenFeatures
1.lemmy_server v0.0.157.5s46.7s (81%)
2.lemmy_db v0.1.041.7s6.5s (15%)
3.diesel v1.4.522.1s0.4s (2%)32-column-tables, bitflags, chrono, default, postgres, pq-sys, r2d2, serde_json, with-deprecated
4.syn v1.0.5419.5s8.4s (43%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
5.image v0.23.1218.2s11.7s (65%)bmp, dds, default, dxt, farbfeld, gif, hdr, ico, jpeg, jpeg_rayon, png, pnm, scoped_threadpool, tga, tiff, webp
6.lemmy_server v0.0.1 bin "lemmy_server"17.4s0.0s (0%)
7.h2 v0.2.715.9s6.4s (40%)
8.openssl v0.10.3115.4s3.3s (21%)
9.trust-dns-proto v0.19.613.8s6.5s (47%)tokio, tokio-runtime
10.tokio v0.2.2413.6s5.2s (38%)blocking, default, fnv, futures-core, io-driver, io-util, iovec, lazy_static, libc, memchr, mio, mio-uds, rt-core, rt-util, signal, signal-hook-registry, slab, stream, sync, tcp, time, udp, uds, winapi
11.rustls v0.18.113.5s7.4s (55%)dangerous_configuration, default, log, logging
12.regex v1.4.213.5s10.7s (79%)aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, std, thread_local, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
13.lettre v0.10.0-alpha.412.5s9.0s (72%)base64, builder, default, file-transport, hostname, hyperx, mime, native-tls, nom, quoted_printable, r2d2, rand, sendmail-transport, serde, serde_json, smtp-transport
14.pin-project-internal v0.4.2712.3s0.0s (0%)
15.serde_derive v1.0.11812.3s0.0s (0%)default
16.activitystreams v0.7.0-alpha.812.2s5.9s (49%)
17.lemmy_api v0.1.012.0s5.3s (45%)
18.nom v5.1.211.9s0.9s (7%)alloc, default, lexical, lexical-core, std
19.actix-server v1.0.411.8s10.3s (87%)default
20.lemmy_apub v0.1.011.5s5.3s (46%)
21.derive_more v0.99.1111.4s0.0s (0%)add, add_assign, as_mut, as_ref, constructor, default, deref, deref_mut, display, error, from, from_str, index, index_mut, into, into_iterator, iterator, mul, mul_assign, not, sum, try_into
22.regex-syntax v0.6.2110.9s5.1s (46%)default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
23.diesel_derives v1.4.110.5s0.0s (0%)default, postgres
24.object v0.22.010.4s4.2s (41%)archive, coff, elf, macho, pe, read_core, unaligned
25.jsonwebtoken v7.2.010.4s3.9s (38%)
26.lemmy_db_schema v0.1.010.3s0.7s (7%)
27.captcha v0.0.810.0s4.2s (42%)
28.nom v6.0.110.0s0.8s (8%)alloc, bitvec
29.comrak v0.9.010.0s2.1s (21%)
30.ring v0.16.199.6s6.0s (62%)alloc, default, dev_urandom_fallback, once_cell, std
31.hyper v0.13.99.0s1.0s (12%)socket2, tcp
32.serde-hjson v0.9.18.6s2.5s (29%)default, linked-hash-map, preserve_order
33.brotli-sys v0.3.2 custom-build (run)8.2s0.0s (0%)
34.encoding_rs v0.8.267.9s3.8s (48%)
35.backtrace v0.3.557.9s6.6s (84%)addr2line, default, gimli-symbolize, miniz_oxide, object, std
36.futures-util v0.3.87.8s0.4s (5%)alloc, async-await, async-await-macro, channel, default, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std
37.reqwest v0.10.107.7s3.1s (40%)__tls, default, default-tls, hyper-tls, json, native-tls-crate, serde_json, tokio-tls
38.gimli v0.23.07.7s1.4s (18%)read
39.strum_macros v0.20.17.5s0.0s (0%)
40.jpeg-decoder v0.1.207.4s0.8s (11%)rayon
41.http v0.2.27.4s1.9s (26%)
42.actix-http v2.2.07.1s1.2s (17%)actix-tls, brotli2, compress, default, flate2, rustls
43.v_escape_derive v0.8.47.1s0.0s (0%)
44.rand_chacha v0.2.27.0s1.7s (25%)std
45.rayon v1.5.06.7s0.5s (8%)
46.pest_meta v2.1.36.3s4.5s (71%)
47.lodepng v3.2.26.3s3.6s (57%)default, rust_backend
48.serde v1.0.1186.2s0.2s (3%)default, derive, serde_derive, std
49.num-bigint v0.2.66.2s1.2s (19%)default, std
50.pin-project-internal v1.0.26.1s0.0s (0%)
51.hyperx v1.2.06.1s3.1s (50%)headers
52.actix_derive v0.5.06.0s0.0s (0%)
53.darling_core v0.10.26.0s1.9s (32%)strsim, suggestions
54.actix-web v3.3.25.8s1.3s (22%)compress, default, rust-tls, rustls
55.num-rational v0.3.25.3s4.5s (86%)
56.trust-dns-resolver v0.19.65.3s2.3s (42%)ipconfig, resolv-conf, system-config, tokio, tokio-runtime
57.async-trait v0.1.425.2s0.0s (0%)
58.background-jobs-actix v0.8.05.1s0.5s (10%)
59.pem v0.8.24.9s0.5s (10%)
60.bitvec v0.19.44.9s0.1s (1%)alloc
61.serde v0.8.234.8s0.4s (7%)default, std
62.rayon-core v1.9.04.8s2.8s (59%)
63.awc v2.0.34.7s2.4s (51%)compress, rust-tls, rustls
64.thiserror-impl v1.0.224.6s0.0s (0%)
65.aho-corasick v0.7.154.6s2.5s (55%)default, std
66.cc v1.0.664.6s3.1s (68%)
67.lemmy_structs v0.1.04.4s0.3s (8%)
68.time v0.2.234.3s0.7s (17%)libc, std, stdweb, winapi
69.lexical-core v0.7.44.2s0.3s (8%)arrayvec, correct, default, ryu, static_assertions, std, table
70.env_logger v0.8.24.1s1.4s (34%)atty, default, humantime, regex, termcolor
71.rand v0.7.33.7s0.4s (12%)alloc, default, getrandom, getrandom_package, libc, std
72.futures-macro v0.3.83.6s0.0s (0%)
73.pest_generator v2.1.33.5s2.0s (59%)
74.serde_json v1.0.603.4s1.1s (32%)default, indexmap, preserve_order, std
75.mio v0.6.233.3s1.6s (47%)default, with-deprecated
76.proc-macro-hack v0.5.193.3s0.0s (0%)
77.tokio-tls v0.3.13.3s0.0s (0%)
78.miniz_oxide v0.3.73.3s1.7s (53%)
79.pest v2.1.33.2s0.5s (16%)
80.tokio v0.3.63.2s1.2s (38%)default, sync
81.derive_builder_core v0.9.03.2s0.9s (28%)
82.proc-macro2 v1.0.243.1s1.7s (54%)default, proc-macro
83.background-jobs-core v0.8.02.9s1.0s (34%)actix-rt, default, tokio, with-actix
84.chrono v0.4.192.9s0.6s (22%)clock, default, libc, oldtime, serde, std, time, winapi
85.ring v0.16.19 custom-build (run)2.7s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
86.itertools v0.9.02.7s0.5s (18%)default, use_std
87.lemmy_utils v0.1.02.6s0.6s (21%)
88.time-macros v0.1.12.6s0.0s (0%)
89.png v0.16.82.6s0.7s (27%)default, deflate, png-encoding
90.nom v4.2.32.5s0.7s (29%)alloc, default, std
91.miniz_oxide v0.4.32.5s1.1s (45%)no_extern_crate_alloc
92.webpki v0.21.42.5s0.8s (31%)default, std, trust_anchor_util
93.num-traits v0.2.142.5s0.2s (8%)default, i128, std
94.deflate v0.8.62.4s1.3s (52%)
95.actix v0.10.02.4s0.3s (12%)default, resolver, trust-dns-proto, trust-dns-resolver
96.unicode-normalization v0.1.162.4s0.4s (18%)default, std
97.language-tags v0.2.22.4s1.8s (75%)
98.actix-web-codegen v0.4.02.4s0.0s (0%)
99.actix-rt v1.1.12.3s1.3s (57%)
100.time-macros-impl v0.1.12.3s0.0s (0%)
101.funty v1.0.12.3s1.0s (44%)
102.resolv-conf v0.7.02.3s1.2s (51%)hostname, system
103.mime_guess v2.0.32.3s0.7s (29%)default, rev-mappings
104.ipnet v2.3.02.3s1.4s (60%)
105.unicode-bidi v0.3.42.2s1.4s (60%)default
106.tinyvec v1.1.02.2s0.0s (2%)alloc, default, tinyvec_macros
107.libc v0.2.812.1s0.2s (12%)align, default, std
108.thiserror v1.0.222.1s0.0s (1%)
109.idna v0.2.02.1s0.9s (40%)
110.bytes v0.6.02.1s0.7s (33%)default, std
111.lemmy_websocket v0.1.02.1s0.7s (32%)
112.config v0.10.12.1s0.6s (28%)hjson, serde-hjson
113.crossbeam-channel v0.5.02.1s0.4s (19%)crossbeam-utils, default, std
114.actix-utils v2.0.02.0s0.8s (40%)
115.url v2.2.02.0s0.4s (21%)serde
116.tracing-core v0.1.172.0s0.9s (46%)lazy_static, std
117.bytes v0.5.62.0s0.7s (35%)default, std
118.crossbeam-channel v0.4.41.9s0.4s (21%)
119.typenum v1.12.01.9s0.1s (3%)
120.mime_guess v2.0.3 custom-build1.9s0.0s (0%)default, rev-mappings
121.tiff v0.6.11.9s0.2s (12%)
122.autocfg v1.0.11.9s1.0s (50%)
123.scoped_threadpool v0.1.91.9s1.4s (76%)
124.typenum v1.12.0 custom-build1.9s0.0s (0%)
125.http-signature-normalization v0.5.31.9s1.1s (58%)
126.pkg-config v0.3.191.8s1.2s (67%)
127.const_fn v0.4.41.8s0.0s (0%)
128.crossbeam-epoch v0.9.11.8s0.7s (36%)alloc, lazy_static, std
129.crossbeam-utils v0.7.2 custom-build (run)1.8s0.0s (0%)default, lazy_static, std
130.enum-as-inner v0.3.31.8s0.0s (0%)
131.version_check v0.9.21.8s0.9s (50%)
132.flate2 v1.0.191.8s0.5s (28%)default, miniz_oxide, rust_backend
133.gif v0.11.11.8s0.7s (41%)default, raii_no_panic, std
134.crossbeam-utils v0.8.1 custom-build (run)1.7s0.0s (0%)default, lazy_static, std
135.quick-xml v0.17.21.7s0.8s (44%)default, encoding, encoding_rs
136.actix-files v0.4.11.7s0.4s (26%)
137.weezl v0.1.31.7s0.9s (54%)alloc, default, std
138.derive_builder v0.9.01.7s0.0s (0%)
139.actix-router v0.2.51.7s0.4s (24%)default, http
140.sha2 v0.9.21.7s0.8s (50%)default, std
141.ring v0.16.19 custom-build1.7s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
142.actix-macros v0.1.31.7s0.0s (0%)
143.v_htmlescape v0.11.01.6s0.4s (23%)bytes-buf, default
144.actix-service v1.0.61.6s0.0s (1%)
145.rss v1.9.01.6s0.4s (25%)builders, default, derive_builder
146.hashbrown v0.9.11.6s0.1s (4%)raw
147.time v0.1.441.6s0.7s (47%)
148.digest v0.9.01.6s0.0s (1%)alloc, std
149.migrations_macros v1.4.21.6s0.0s (0%)default
150.crossbeam-utils v0.8.11.5s0.7s (48%)default, lazy_static, std
151.signal-hook-registry v1.2.21.5s1.0s (65%)
152.openssl-sys v0.9.59 custom-build1.5s0.0s (0%)
153.simple_asn1 v0.4.11.5s0.7s (48%)
154.crossbeam-utils v0.7.21.5s0.7s (48%)default, lazy_static, std
155.memchr v2.3.41.5s0.5s (33%)default, std, use_std
156.unicode-segmentation v1.7.11.5s0.4s (24%)
157.cipher v0.2.51.5s0.0s (1%)
158.xdg v2.2.01.5s1.0s (66%)
159.http-signature-normalization-actix v0.4.11.4s0.2s (14%)base64, digest, sha-2, sha2
160.darling_macro v0.10.21.4s0.0s (0%)
161.num_cpus v1.13.01.4s0.9s (63%)
162.rustc-demangle v0.1.181.4s0.7s (49%)
163.strsim v0.9.31.4s0.8s (57%)
164.byteorder v1.3.4 custom-build1.4s0.0s (0%)default, std
165.hyperx v1.2.0 custom-build1.4s0.0s (0%)headers
166.openssl-sys v0.9.591.3s0.1s (11%)
167.libc v0.2.81 custom-build1.3s0.0s (0%)align, default, std
168.uuid v0.8.11.3s0.3s (25%)default, rand, serde, std, v4
169.termcolor v1.1.21.3s0.7s (50%)
170.serde_test v0.8.231.3s0.2s (13%)
171.httparse v1.3.4 custom-build1.3s0.0s (0%)default, std
172.arrayvec v0.5.21.3s0.0s (3%)array-sizes-33-128, default, std
173.version_check v0.1.51.3s0.9s (66%)
174.net2 v0.2.371.3s0.6s (49%)default, duration
175.pest_derive v2.1.01.3s0.0s (0%)
176.proc-macro2 v1.0.24 custom-build1.3s0.0s (0%)default, proc-macro
177.actix-connect v2.0.01.3s0.2s (17%)default, http, rust-tls, rustls, tokio-rustls, uri, webpki
178.syn v1.0.54 custom-build1.3s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
179.quote v1.0.71.3s0.6s (48%)default, proc-macro
180.socket2 v0.3.181.3s0.6s (50%)
181.parking_lot v0.11.11.2s0.7s (55%)default
182.native-tls v0.2.61.2s0.4s (34%)
183.const_fn v0.4.4 custom-build1.2s0.0s (0%)
184.threadpool v1.8.11.2s0.8s (67%)
185.anyhow v1.0.351.2s0.7s (54%)default, std
186.indexmap v1.6.11.2s0.2s (13%)
187.scheduled-thread-pool v0.2.51.2s0.4s (34%)
188.base64 v0.13.01.2s0.3s (28%)default, std
189.ucd-trie v0.1.31.2s0.8s (68%)default, std
190.num-integer v0.1.441.2s0.3s (28%)i128, std
191.ppv-lite86 v0.2.101.2s0.0s (3%)simd, std
192.log v0.4.11 custom-build1.2s0.0s (0%)std
193.brotli2 v0.3.21.2s0.5s (46%)
194.memchr v2.3.4 custom-build1.2s0.0s (0%)default, std, use_std
195.parking_lot_core v0.8.11.1s0.5s (41%)
196.addr2line v0.14.01.1s0.4s (34%)
197.serde_json v1.0.60 custom-build1.1s0.0s (0%)default, indexmap, preserve_order, std
198.tokio-util v0.3.11.1s0.2s (15%)codec, compat, default, full, futures-io, udp
199.pq-sys v0.4.6 custom-build1.1s0.0s (0%)
200.mime v0.3.161.1s0.5s (45%)
201.humantime v2.0.11.1s0.5s (44%)
202.sha-1 v0.9.21.0s0.4s (43%)default, std
203.ryu v1.0.5 custom-build1.0s0.0s (0%)
204.log v0.4.111.0s0.4s (40%)std
205.base64 v0.12.31.0s0.3s (26%)default, std
206.color_quant v1.1.01.0s0.6s (58%)
207.bcrypt v0.9.01.0s0.5s (52%)default, std
208.generic-array v0.14.41.0s0.0s (3%)
209.activitystreams-ext v0.1.0-alpha.21.0s0.0s (4%)
210.byteorder v1.3.41.0s0.2s (17%)default, std
211.rgb v0.8.251.0s0.0s (4%)as-bytes, bytemuck, default
212.actix-web-actors v3.0.01.0s0.2s (22%)
213.httparse v1.3.41.0s0.4s (40%)default, std
214.hound v3.4.01.0s0.3s (26%)
215.cookie v0.14.31.0s0.3s (27%)percent-encode, percent-encoding
216.migrations_internals v1.4.11.0s0.2s (16%)default
217.bitflags v1.2.1 custom-build0.9s0.0s (0%)default
218.thread_local v1.0.10.9s0.4s (48%)
219.pin-project-internal v0.4.27 custom-build0.9s0.0s (0%)
220.serde_derive v1.0.118 custom-build0.9s0.0s (0%)default
221.unicase v2.6.0 custom-build (run)0.9s0.0s (0%)
222.twoway v0.2.10.9s0.4s (45%)default, use_std
223.proc-macro-hack v0.5.19 custom-build0.9s0.0s (0%)
224.lemmy_rate_limit v0.1.00.9s0.2s (17%)
225.tracing v0.1.220.9s0.3s (32%)log, std
226.actix-tls v2.0.00.9s0.1s (13%)default, rust-tls, rustls, tokio-rustls, webpki, webpki-roots
227.futures-executor v0.3.80.9s0.3s (36%)std
228.proc-macro-nested v0.1.6 custom-build0.9s0.0s (0%)
229.quoted_printable v0.4.20.9s0.4s (44%)
230.event-listener v2.5.10.8s0.4s (52%)
231.percent-encoding v2.1.00.8s0.4s (50%)
232.crc32fast v1.2.10.8s0.4s (46%)default, std
233.miniz_oxide v0.4.3 custom-build (run)0.8s0.0s (0%)no_extern_crate_alloc
234.entities v1.0.10.8s0.2s (24%)
235.httpdate v0.3.20.8s0.4s (48%)
236.unicase v2.6.00.8s0.3s (43%)
237.serde v1.0.118 custom-build0.8s0.0s (0%)default, derive, serde_derive, std
238.heck v0.3.10.8s0.4s (52%)
239.crc32fast v1.2.1 custom-build0.8s0.0s (0%)default, std
240.futures-channel v0.3.80.8s0.1s (10%)alloc, default, futures-sink, sink, std
241.ryu v1.0.50.8s0.3s (39%)
242.r2d2 v0.8.90.8s0.2s (23%)
243.indexmap v1.6.1 custom-build (run)0.8s0.0s (0%)
244.maybe-uninit v2.0.0 custom-build0.8s0.0s (0%)
245.num-traits v0.2.14 custom-build (run)0.8s0.0s (0%)default, i128, std
246.sct v0.6.00.8s0.4s (46%)
247.actix-threadpool v0.3.30.8s0.2s (27%)
248.num-rational v0.3.2 custom-build (run)0.7s0.0s (0%)
249.tokio-rustls v0.14.10.7s0.0s (5%)
250.serde_urlencoded v0.7.00.7s0.1s (14%)
251.anyhow v1.0.35 custom-build0.7s0.0s (0%)default, std
252.crossbeam-deque v0.8.00.7s0.0s (3%)crossbeam-epoch, crossbeam-utils, default, std
253.num-iter v0.1.42 custom-build (run)0.7s0.0s (0%)default, std
254.num-bigint v0.2.6 custom-build (run)0.7s0.0s (0%)default, std
255.standback v0.2.13 custom-build0.7s0.0s (0%)std
256.getrandom v0.2.00.7s0.3s (37%)std
257.getrandom v0.1.15 custom-build0.7s0.0s (0%)std
258.unicode-xid v0.2.10.7s0.0s (7%)default
259.getrandom v0.1.150.7s0.2s (34%)std
260.lazy_static v1.4.00.7s0.0s (3%)
261.form_urlencoded v1.0.00.7s0.3s (48%)
262.radium v0.5.3 custom-build0.7s0.0s (0%)
263.smallvec v1.5.10.7s0.0s (6%)
264.rayon v1.5.0 custom-build (run)0.7s0.0s (0%)
265.mio-uds v0.6.80.7s0.1s (19%)
266.futures-io v0.3.80.7s0.3s (48%)default, std
267.pq-sys v0.4.60.7s0.2s (37%)
268.actix-testing v1.0.10.7s0.1s (22%)
269.unicode_categories v0.1.10.7s0.1s (17%)
270.getrandom v0.2.0 custom-build0.6s0.0s (0%)std
271.once_cell v1.5.20.6s0.2s (33%)alloc, default, std
272.lock_api v0.4.20.6s0.0s (7%)
273.blowfish v0.7.00.6s0.1s (23%)bcrypt
274.radium v0.5.30.6s0.0s (6%)
275.want v0.3.00.6s0.2s (40%)
276.futures-core v0.3.80.6s0.2s (41%)alloc, default, std
277.num-bigint v0.2.6 custom-build0.6s0.0s (0%)default, std
278.actix-codec v0.3.00.6s0.0s (7%)
279.futures-task v0.3.80.6s0.2s (30%)alloc, once_cell, std
280.openssl-probe v0.1.20.6s0.3s (49%)
281.rand_core v0.5.10.6s0.1s (22%)alloc, getrandom, std
282.time v0.2.23 custom-build0.6s0.0s (0%)libc, std, stdweb, winapi
283.openssl v0.10.31 custom-build0.6s0.0s (0%)
284.brotli-sys v0.3.2 custom-build0.6s0.0s (0%)
285.shell-words v1.0.00.6s0.3s (49%)
286.memoffset v0.6.1 custom-build (run)0.6s0.0s (0%)default
287.tokio v0.3.6 custom-build (run)0.6s0.0s (0%)default, sync
288.hyper-tls v0.4.30.6s0.0s (7%)
289.v_htmlescape v0.11.0 custom-build0.5s0.0s (0%)bytes-buf, default
290.bytestring v0.1.50.5s0.2s (32%)
291.indexmap v1.6.1 custom-build0.5s0.0s (0%)
292.http-signature-normalization-reqwest v0.1.30.5s0.1s (17%)base64, digest, sha-2, sha2, tokio
293.nom v4.2.3 custom-build0.5s0.0s (0%)alloc, default, std
294.either v1.6.10.5s0.0s (7%)default, use_std
295.hostname v0.3.10.5s0.2s (44%)default
296.crossbeam-utils v0.7.2 custom-build0.5s0.0s (0%)default, lazy_static, std
297.nom v6.0.1 custom-build0.5s0.0s (0%)alloc, bitvec
298.crossbeam-utils v0.8.1 custom-build0.5s0.0s (0%)default, lazy_static, std
299.adler v0.2.30.5s0.2s (40%)
300.iovec v0.1.40.5s0.2s (45%)
301.adler32 v1.2.00.5s0.2s (38%)default, std
302.generic-array v0.14.4 custom-build0.5s0.0s (0%)
303.memoffset v0.6.1 custom-build0.5s0.0s (0%)default
304.linked-hash-map v0.3.00.5s0.0s (6%)serde, serde_impl, serde_test
305.lexical-core v0.7.4 custom-build0.5s0.0s (0%)arrayvec, correct, default, ryu, static_assertions, std, table
306.num-integer v0.1.44 custom-build0.5s0.0s (0%)i128, std
307.linked-hash-map v0.5.30.5s0.0s (3%)
308.native-tls v0.2.6 custom-build0.5s0.0s (0%)
309.pin-project v1.0.20.5s0.0s (1%)
310.untrusted v0.7.10.5s0.1s (27%)
311.brotli-sys v0.3.20.5s0.0s (5%)
312.unicase v2.6.0 custom-build0.5s0.0s (0%)
313.miniz_oxide v0.4.3 custom-build0.5s0.0s (0%)no_extern_crate_alloc
314.num-rational v0.3.2 custom-build0.5s0.0s (0%)
315.cookie v0.14.3 custom-build0.5s0.0s (0%)percent-encode, percent-encoding
316.num-iter v0.1.42 custom-build0.5s0.0s (0%)default, std
317.tokio v0.3.6 custom-build0.5s0.0s (0%)default, sync
318.standback v0.2.13 custom-build (run)0.5s0.0s (0%)std
319.nom v5.1.2 custom-build0.5s0.0s (0%)alloc, default, lexical, lexical-core, std
320.rayon-core v1.9.0 custom-build0.5s0.0s (0%)
321.tracing-futures v0.2.40.4s0.0s (5%)pin-project, std-future
322.bytemuck v1.4.10.4s0.0s (9%)
323.rayon v1.5.0 custom-build0.4s0.0s (0%)
324.wyz v0.2.00.4s0.0s (3%)alloc
325.anyhow v1.0.35 custom-build (run)0.4s0.0s (0%)default, std
326.http-body v0.3.10.4s0.1s (18%)
327.v_escape v0.14.10.4s0.0s (6%)bytes-buf
328.num-traits v0.2.14 custom-build0.4s0.0s (0%)default, i128, std
329.spin v0.5.20.4s0.0s (9%)
330.openssl-sys v0.9.59 custom-build (run)0.4s0.0s (0%)
331.lru-cache v0.1.20.4s0.0s (7%)
332.typed-arena v1.7.00.4s0.0s (12%)default, std
333.itoa v0.4.60.4s0.0s (6%)default, std
334.slab v0.4.20.4s0.0s (9%)
335.encoding_rs v0.8.26 custom-build0.4s0.0s (0%)
336.pin-project v0.4.270.4s0.0s (3%)
337.v_escape v0.14.1 custom-build0.4s0.0s (0%)bytes-buf
338.derive_builder v0.9.0 custom-build0.4s0.0s (0%)
339.darling v0.10.20.4s0.0s (2%)default, suggestions
340.fnv v1.0.70.4s0.0s (2%)default, std
341.fxhash v0.2.10.4s0.1s (17%)
342.webpki-roots v0.20.00.4s0.0s (10%)
343.num-iter v0.1.420.4s0.0s (3%)default, std
344.ident_case v1.0.10.4s0.0s (12%)
345.background-jobs v0.8.00.3s0.0s (8%)background-jobs-actix, default
346.nom v5.1.2 custom-build (run)0.3s0.0s (0%)alloc, default, lexical, lexical-core, std
347.copyless v0.1.50.3s0.0s (14%)
348.strum v0.20.00.3s0.0s (8%)
349.buf-min v0.2.00.3s0.0s (15%)bytes, bytes-buf
350.block-buffer v0.9.00.3s0.0s (4%)
351.bitflags v1.2.10.3s0.1s (16%)default
352.proc-macro-nested v0.1.60.3s0.1s (20%)
353.tap v1.0.00.3s0.0s (14%)
354.futures-sink v0.3.80.3s0.0s (3%)alloc, default, std
355.maybe-uninit v2.0.00.3s0.0s (8%)
356.matches v0.1.80.3s0.0s (13%)
357.futures v0.3.80.3s0.0s (8%)alloc, async-await, default, executor, futures-executor, std
358.instant v0.1.90.3s0.0s (4%)
359.async-mutex v1.4.00.3s0.0s (6%)
360.unchecked-index v0.2.20.3s0.0s (5%)
361.generic-array v0.14.4 custom-build (run)0.3s0.0s (0%)
362.httparse v1.3.4 custom-build (run)0.3s0.0s (0%)default, std
363.standback v0.2.130.3s0.0s (6%)std
364.quick-error v1.2.30.3s0.0s (5%)
365.cookie v0.14.3 custom-build (run)0.3s0.0s (0%)percent-encode, percent-encoding
366.atty v0.2.140.3s0.0s (10%)
367.cfg-if v0.1.100.3s0.0s (2%)
368.cfg-if v1.0.00.3s0.0s (2%)
369.memoffset v0.6.10.3s0.0s (9%)default
370.maplit v1.0.20.2s0.0s (5%)
371.try-lock v0.2.30.2s0.0s (8%)
372.pin-utils v0.1.00.2s0.0s (11%)
373.tower-service v0.3.00.2s0.0s (9%)
374.syn v1.0.54 custom-build (run)0.2s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
375.scopeguard v1.1.00.2s0.0s (8%)
376.pin-project-lite v0.2.00.2s0.0s (9%)
377.proc-macro2 v1.0.24 custom-build (run)0.2s0.0s (0%)default, proc-macro
378.nom v6.0.1 custom-build (run)0.2s0.0s (0%)alloc, bitvec
379.cpuid-bool v0.1.20.2s0.0s (15%)
380.pin-project-lite v0.1.110.2s0.0s (5%)
381.time v0.2.23 custom-build (run)0.2s0.0s (0%)libc, std, stdweb, winapi
382.num-traits v0.1.430.2s0.0s (8%)
383.serde_json v1.0.60 custom-build (run)0.2s0.0s (0%)default, indexmap, preserve_order, std
384.proc-macro-hack v0.5.19 custom-build (run)0.2s0.0s (0%)
385.static_assertions v1.1.00.2s0.0s (11%)
386.match_cfg v0.1.00.2s0.0s (5%)default, use_core
387.tinyvec_macros v0.1.00.2s0.0s (5%)
388.ryu v1.0.5 custom-build (run)0.2s0.0s (0%)
389.opaque-debug v0.3.00.2s0.0s (4%)
390.byteorder v1.3.4 custom-build (run)0.2s0.0s (0%)default, std
391.diesel_migrations v1.4.00.2s0.0s (16%)default
392.foreign-types-shared v0.1.10.2s0.0s (6%)
393.crc32fast v1.2.1 custom-build (run)0.2s0.0s (0%)default, std
394.foreign-types v0.3.20.2s0.0s (7%)
395.serde v1.0.118 custom-build (run)0.2s0.0s (0%)default, derive, serde_derive, std
396.hyperx v1.2.0 custom-build (run)0.2s0.0s (0%)headers
397.bitflags v1.2.1 custom-build (run)0.2s0.0s (0%)default
398.libc v0.2.81 custom-build (run)0.2s0.0s (0%)align, default, std
399.serde_derive v1.0.118 custom-build (run)0.2s0.0s (0%)default
400.pin-project-internal v0.4.27 custom-build (run)0.2s0.0s (0%)
401.const_fn v0.4.4 custom-build (run)0.2s0.0s (0%)
402.nom v4.2.3 custom-build (run)0.2s0.0s (0%)alloc, default, std
403.maybe-uninit v2.0.0 custom-build (run)0.2s0.0s (0%)
404.typenum v1.12.0 custom-build (run)0.1s0.0s (0%)
405.mime_guess v2.0.3 custom-build (run)0.0s0.0s (0%)default, rev-mappings
406.num-integer v0.1.44 custom-build (run)0.0s0.0s (0%)i128, std
407.lexical-core v0.7.4 custom-build (run)0.0s0.0s (0%)arrayvec, correct, default, ryu, static_assertions, std, table
408.getrandom v0.2.0 custom-build (run)0.0s0.0s (0%)std
409.openssl v0.10.31 custom-build (run)0.0s0.0s (0%)
410.derive_builder v0.9.0 custom-build (run)0.0s0.0s (0%)
411.radium v0.5.3 custom-build (run)0.0s0.0s (0%)
412.getrandom v0.1.15 custom-build (run)0.0s0.0s (0%)std
413.proc-macro-nested v0.1.6 custom-build (run)0.0s0.0s (0%)
414.pq-sys v0.4.6 custom-build (run)0.0s0.0s (0%)
415.log v0.4.11 custom-build (run)0.0s0.0s (0%)std
416.v_htmlescape v0.11.0 custom-build (run)0.0s0.0s (0%)bytes-buf, default
417.native-tls v0.2.6 custom-build (run)0.0s0.0s (0%)
418.v_escape v0.14.1 custom-build (run)0.0s0.0s (0%)bytes-buf
419.rayon-core v1.9.0 custom-build (run)0.0s0.0s (0%)
420.encoding_rs v0.8.26 custom-build (run)0.0s0.0s (0%)
421.memchr v2.3.4 custom-build (run)0.0s0.0s (0%)default, std, use_std
+ + + diff --git a/cargo-timing-20201219T141946Z.html b/cargo-timing-20201219T141946Z.html new file mode 100644 index 000000000..c14605108 --- /dev/null +++ b/cargo-timing-20201219T141946Z.html @@ -0,0 +1,24104 @@ + + + + Cargo Build Timings — lemmy_server 0.0.1 + + + + + +

Cargo Build Timings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Targets:lemmy_server 0.0.1 (lib, bin "lemmy_server")
Profile:dev
Fresh units:0
Dirty units:421
Total units:421
Max concurrency:12 (jobs=12 ncpu=12)
Build start:2020-12-19T14:19:46Z
Total time:191.9s (3m 11.9s)
rustc:rustc 1.50.0-nightly (825637983 2020-11-18)
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Max (global) rustc threads concurrency:0
+ + + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UnitTotalCodegenFeatures
1.lemmy_db v0.1.045.2s6.9s (15%)
2.diesel v1.4.523.2s0.6s (2%)32-column-tables, bitflags, chrono, default, postgres, pq-sys, r2d2, serde_json, with-deprecated
3.syn v1.0.5419.5s7.8s (40%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
4.h2 v0.2.718.6s8.8s (47%)
5.lemmy_server v0.0.118.4s13.2s (72%)
6.serde_derive v1.0.11816.5s0.0s (0%)default
7.lemmy_server v0.0.1 bin "lemmy_server"15.8s0.0s (0%)
8.diesel_derives v1.4.114.2s0.0s (0%)default, postgres
9.hyper v0.13.914.2s0.8s (6%)socket2, tcp
10.derive_more v0.99.1114.1s0.0s (0%)add, add_assign, as_mut, as_ref, constructor, default, deref, deref_mut, display, error, from, from_str, index, index_mut, into, into_iterator, iterator, mul, mul_assign, not, sum, try_into
11.activitystreams v0.7.0-alpha.813.3s2.7s (20%)
12.trust-dns-proto v0.19.612.9s8.6s (66%)tokio, tokio-runtime
13.regex-syntax v0.6.2112.8s5.0s (39%)default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
14.image v0.23.1212.6s5.5s (44%)bmp, dds, default, dxt, farbfeld, gif, hdr, ico, jpeg, jpeg_rayon, png, pnm, scoped_threadpool, tga, tiff, webp
15.lettre v0.10.0-alpha.412.4s1.6s (13%)base64, builder, default, file-transport, hostname, hyperx, mime, native-tls, nom, quoted_printable, r2d2, rand, sendmail-transport, serde, serde_json, smtp-transport
16.pin-project-internal v0.4.2712.2s0.0s (0%)
17.async-trait v0.1.4211.9s0.0s (0%)
18.regex v1.4.211.5s8.6s (75%)aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, std, thread_local, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
19.thiserror-impl v1.0.2211.2s0.0s (0%)
20.trust-dns-resolver v0.19.611.0s2.8s (25%)ipconfig, resolv-conf, system-config, tokio, tokio-runtime
21.rayon v1.5.010.5s0.8s (8%)
22.object v0.22.010.4s4.3s (41%)archive, coff, elf, macho, pe, read_core, unaligned
23.lemmy_api v0.1.010.2s4.7s (46%)
24.lemmy_apub v0.1.010.2s4.3s (42%)
25.tokio v0.2.2410.1s2.9s (29%)blocking, default, fnv, futures-core, io-driver, io-util, iovec, lazy_static, libc, memchr, mio, mio-uds, rt-core, rt-util, signal, signal-hook-registry, slab, stream, sync, tcp, time, udp, uds, winapi
26.lemmy_db_schema v0.1.09.6s0.8s (9%)
27.rustls v0.18.19.2s3.7s (40%)dangerous_configuration, default, log, logging
28.strum_macros v0.20.19.2s0.0s (0%)
29.darling_macro v0.10.28.5s0.0s (0%)
30.comrak v0.9.08.3s3.9s (47%)
31.openssl v0.10.318.2s2.8s (34%)
32.brotli-sys v0.3.2 custom-build (run)8.2s0.0s (0%)
33.actix_derive v0.5.08.2s0.0s (0%)
34.encoding_rs v0.8.267.7s3.8s (49%)
35.darling_core v0.10.27.7s2.3s (30%)strsim, suggestions
36.gimli v0.23.07.6s1.3s (17%)read
37.pin-project-internal v1.0.27.6s0.0s (0%)
38.futures-util v0.3.87.4s0.3s (4%)alloc, async-await, async-await-macro, channel, default, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std
39.rand v0.7.37.3s0.9s (12%)alloc, default, getrandom, getrandom_package, libc, std
40.rayon-core v1.9.07.1s5.5s (78%)
41.pest_generator v2.1.37.1s1.6s (23%)
42.http v0.2.27.0s1.9s (27%)
43.serde v1.0.1186.8s0.7s (11%)default, derive, serde_derive, std
44.ring v0.16.196.7s3.6s (53%)alloc, default, dev_urandom_fallback, once_cell, std
45.pest_meta v2.1.36.6s4.9s (75%)
46.hyperx v1.2.06.3s3.2s (50%)headers
47.actix-web v3.3.26.1s1.5s (25%)compress, default, rust-tls, rustls
48.cc v1.0.665.9s3.9s (66%)
49.actix-http v2.2.05.7s1.0s (19%)actix-tls, brotli2, compress, default, flate2, rustls
50.nom v6.0.15.6s0.5s (9%)alloc, bitvec
51.nom v5.1.25.4s0.8s (14%)alloc, default, lexical, lexical-core, std
52.serde v0.8.235.3s0.3s (6%)default, std
53.reqwest v0.10.105.3s3.3s (62%)__tls, default, default-tls, hyper-tls, json, native-tls-crate, serde_json, tokio-tls
54.time v0.2.235.3s2.2s (42%)libc, std, stdweb, winapi
55.backtrace v0.3.555.1s4.0s (79%)addr2line, default, gimli-symbolize, miniz_oxide, object, std
56.bitvec v0.19.44.9s0.1s (1%)alloc
57.aho-corasick v0.7.154.9s2.7s (56%)default, std
58.ryu v1.0.5 custom-build4.8s0.0s (0%)
59.num-bigint v0.2.64.8s1.4s (30%)default, std
60.lemmy_structs v0.1.04.7s0.4s (8%)
61.lodepng v3.2.24.7s2.8s (59%)default, rust_backend
62.awc v2.0.34.5s3.0s (66%)compress, rust-tls, rustls
63.derive_builder v0.9.04.2s0.0s (0%)
64.tiff v0.6.14.2s2.8s (67%)
65.lexical-core v0.7.44.1s0.3s (7%)arrayvec, correct, default, ryu, static_assertions, std, table
66.actix-server v1.0.44.1s2.2s (52%)default
67.jpeg-decoder v0.1.204.0s2.1s (52%)rayon
68.serde_json v1.0.603.9s0.8s (21%)default, indexmap, preserve_order, std
69.serde-hjson v0.9.13.8s2.2s (59%)default, linked-hash-map, preserve_order
70.v_escape_derive v0.8.43.8s0.0s (0%)
71.futures-macro v0.3.83.7s0.0s (0%)
72.pest v2.1.33.5s0.5s (13%)
73.chrono v0.4.193.4s0.4s (13%)clock, default, libc, oldtime, serde, std, time, winapi
74.tokio v0.3.63.3s1.4s (41%)default, sync
75.rand_chacha v0.2.23.2s2.2s (69%)std
76.proc-macro-hack v0.5.193.1s0.0s (0%)
77.lemmy_utils v0.1.03.1s0.6s (21%)
78.mio v0.6.233.1s1.4s (45%)default, with-deprecated
79.typenum v1.12.0 custom-build3.0s0.0s (0%)
80.miniz_oxide v0.3.73.0s1.4s (48%)
81.proc-macro2 v1.0.243.0s1.6s (53%)default, proc-macro
82.actix v0.10.03.0s0.3s (9%)default, resolver, trust-dns-proto, trust-dns-resolver
83.ring v0.16.19 custom-build (run)3.0s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
84.config v0.10.13.0s1.5s (49%)hjson, serde-hjson
85.actix-web-codegen v0.4.03.0s0.0s (0%)
86.base64 v0.13.02.9s0.3s (12%)default, std
87.itertools v0.9.02.9s0.5s (17%)default, use_std
88.url v2.2.02.8s0.8s (30%)serde
89.pkg-config v0.3.192.8s1.2s (44%)
90.rss v1.9.02.8s0.7s (24%)builders, default, derive_builder
91.unicode-segmentation v1.7.12.7s0.3s (12%)
92.nom v4.2.32.7s1.0s (36%)alloc, default, std
93.bytes v0.5.62.7s0.5s (18%)default, std
94.httparse v1.3.4 custom-build2.6s0.0s (0%)default, std
95.unicode-normalization v0.1.162.6s0.4s (16%)default, std
96.time-macros-impl v0.1.12.6s0.0s (0%)
97.deflate v0.8.62.6s1.3s (52%)
98.idna v0.2.02.6s1.2s (45%)
99.env_logger v0.8.22.5s1.1s (45%)atty, default, humantime, regex, termcolor
100.png v0.16.82.5s1.1s (43%)default, deflate, png-encoding
101.num-rational v0.3.22.5s1.4s (56%)
102.sha2 v0.9.22.4s0.8s (32%)default, std
103.base64 v0.12.32.3s0.4s (15%)default, std
104.actix-router v0.2.52.3s0.7s (30%)default, http
105.language-tags v0.2.22.3s1.7s (74%)
106.miniz_oxide v0.4.32.3s1.2s (51%)no_extern_crate_alloc
107.mime_guess v2.0.3 custom-build2.3s0.0s (0%)default, rev-mappings
108.crc32fast v1.2.1 custom-build2.2s0.0s (0%)default, std
109.num-traits v0.2.142.2s0.2s (8%)default, i128, std
110.tinyvec v1.1.02.2s0.0s (1%)alloc, default, tinyvec_macros
111.mime v0.3.162.2s1.7s (78%)
112.funty v1.0.12.2s1.0s (47%)
113.ipnet v2.3.02.2s1.2s (54%)
114.v_htmlescape v0.11.02.1s0.6s (28%)bytes-buf, default
115.background-jobs-core v0.8.02.1s0.5s (22%)actix-rt, default, tokio, with-actix
116.tracing-core v0.1.172.1s1.0s (51%)lazy_static, std
117.bytes v0.6.02.1s0.6s (31%)default, std
118.lemmy_websocket v0.1.02.0s0.7s (36%)
119.bitflags v1.2.1 custom-build2.0s0.0s (0%)default
120.typenum v1.12.02.0s0.1s (3%)
121.actix-rt v1.1.12.0s1.1s (55%)
122.unicode-bidi v0.3.42.0s1.1s (57%)default
123.migrations_macros v1.4.22.0s0.0s (0%)default
124.libc v0.2.811.9s0.2s (10%)align, default, std
125.encoding_rs v0.8.26 custom-build1.9s0.0s (0%)
126.actix-files v0.4.11.9s0.6s (32%)
127.byteorder v1.3.4 custom-build1.9s0.0s (0%)default, std
128.proc-macro-nested v0.1.6 custom-build1.9s0.0s (0%)
129.derive_builder_core v0.9.01.9s1.0s (54%)
130.enum-as-inner v0.3.31.9s0.0s (0%)
131.percent-encoding v2.1.01.8s0.2s (13%)
132.scoped_threadpool v0.1.91.8s1.4s (78%)
133.actix-utils v2.0.01.8s0.5s (28%)
134.gif v0.11.11.8s0.7s (37%)default, raii_no_panic, std
135.serde_json v1.0.60 custom-build1.8s0.0s (0%)default, indexmap, preserve_order, std
136.smallvec v1.5.11.8s0.0s (3%)
137.crossbeam-channel v0.5.01.8s0.6s (33%)crossbeam-utils, default, std
138.pin-project-internal v0.4.27 custom-build1.8s0.0s (0%)
139.ring v0.16.19 custom-build1.7s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
140.crossbeam-channel v0.4.41.7s0.5s (30%)
141.signal-hook-registry v1.2.21.7s1.0s (56%)
142.quick-xml v0.17.21.7s0.7s (43%)default, encoding, encoding_rs
143.cookie v0.14.31.7s1.0s (61%)percent-encode, percent-encoding
144.const_fn v0.4.41.7s0.0s (0%)
145.actix-macros v0.1.31.7s0.0s (0%)
146.weezl v0.1.31.7s0.9s (54%)alloc, default, std
147.time v0.1.441.7s0.7s (43%)
148.http-signature-normalization v0.5.31.6s0.9s (57%)
149.mime_guess v2.0.31.6s0.4s (27%)default, rev-mappings
150.openssl-sys v0.9.59 custom-build1.6s0.0s (0%)
151.pem v0.8.21.6s1.1s (70%)
152.hashbrown v0.9.11.6s0.1s (3%)raw
153.openssl-sys v0.9.591.6s0.2s (11%)
154.jsonwebtoken v7.2.01.6s0.5s (34%)
155.webpki v0.21.41.6s0.7s (44%)default, std, trust_anchor_util
156.crossbeam-utils v0.8.1 custom-build (run)1.5s0.0s (0%)default, lazy_static, std
157.resolv-conf v0.7.01.5s0.8s (51%)hostname, system
158.http-signature-normalization-actix v0.4.11.5s0.4s (28%)base64, digest, sha-2, sha2
159.crossbeam-utils v0.7.2 custom-build (run)1.5s0.0s (0%)default, lazy_static, std
160.flate2 v1.0.191.5s0.4s (27%)default, miniz_oxide, rust_backend
161.crossbeam-utils v0.8.11.5s0.7s (47%)default, lazy_static, std
162.actix-service v1.0.61.5s0.0s (3%)
163.rustc-demangle v0.1.181.5s0.7s (49%)
164.autocfg v1.0.11.5s0.9s (63%)
165.crossbeam-utils v0.7.21.5s0.7s (45%)default, lazy_static, std
166.arrayvec v0.5.21.4s0.0s (2%)array-sizes-33-128, default, std
167.pest_derive v2.1.01.4s0.0s (0%)
168.simple_asn1 v0.4.11.4s0.7s (51%)
169.version_check v0.9.21.4s0.8s (57%)
170.serde_test v0.8.231.4s0.2s (11%)
171.xdg v2.2.01.4s0.8s (59%)
172.parking_lot v0.11.11.4s0.8s (58%)default
173.num_cpus v1.13.01.4s0.9s (63%)
174.threadpool v1.8.11.4s1.0s (73%)
175.actix-web-actors v3.0.01.3s0.5s (38%)
176.termcolor v1.1.21.3s0.6s (45%)
177.socket2 v0.3.181.3s0.6s (48%)
178.anyhow v1.0.351.3s0.7s (53%)default, std
179.httparse v1.3.41.3s0.5s (41%)default, std
180.net2 v0.2.371.3s0.6s (50%)default, duration
181.captcha v0.0.81.2s0.5s (37%)
182.memchr v2.3.41.2s0.5s (40%)default, std, use_std
183.crossbeam-epoch v0.9.11.2s0.5s (40%)alloc, lazy_static, std
184.tokio-util v0.3.11.2s0.4s (28%)codec, compat, default, full, futures-io, udp
185.version_check v0.1.51.2s0.8s (65%)
186.strsim v0.9.31.2s0.8s (62%)
187.background-jobs-actix v0.8.01.2s0.3s (27%)
188.indexmap v1.6.11.2s0.1s (12%)
189.uuid v0.8.11.2s0.2s (21%)default, rand, serde, std, v4
190.actix-connect v2.0.01.2s0.3s (27%)default, http, rust-tls, rustls, tokio-rustls, uri, webpki
191.hyperx v1.2.0 custom-build1.2s0.0s (0%)headers
192.ppv-lite86 v0.2.101.1s0.0s (1%)simd, std
193.ucd-trie v0.1.31.1s0.7s (62%)default, std
194.rgb v0.8.251.1s0.0s (4%)as-bytes, bytemuck, default
195.num-integer v0.1.441.1s0.3s (30%)i128, std
196.matches v0.1.81.1s0.0s (1%)
197.scheduled-thread-pool v0.2.51.1s0.7s (65%)
198.humantime v2.0.11.1s0.4s (40%)
199.pq-sys v0.4.6 custom-build1.1s0.0s (0%)
200.serde_urlencoded v0.7.01.1s0.1s (10%)
201.log v0.4.111.1s0.4s (36%)std
202.quote v1.0.71.1s0.5s (47%)default, proc-macro
203.const_fn v0.4.4 custom-build1.1s0.0s (0%)
204.parking_lot_core v0.8.11.0s0.5s (44%)
205.generic-array v0.14.41.0s0.0s (3%)
206.lemmy_rate_limit v0.1.01.0s0.2s (17%)
207.sha-1 v0.9.21.0s0.5s (45%)default, std
208.thread_local v1.0.11.0s0.4s (43%)
209.activitystreams-ext v0.1.0-alpha.21.0s0.1s (6%)
210.syn v1.0.54 custom-build1.0s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
211.twoway v0.2.11.0s0.4s (41%)default, use_std
212.http-signature-normalization-reqwest v0.1.31.0s0.1s (14%)base64, digest, sha-2, sha2, tokio
213.libc v0.2.81 custom-build0.9s0.0s (0%)align, default, std
214.byteorder v1.3.40.9s0.2s (17%)default, std
215.serde_derive v1.0.118 custom-build0.9s0.0s (0%)default
216.serde v1.0.118 custom-build0.9s0.0s (0%)default, derive, serde_derive, std
217.color_quant v1.1.00.9s0.5s (58%)
218.hound v3.4.00.9s0.3s (29%)
219.proc-macro2 v1.0.24 custom-build0.9s0.0s (0%)default, proc-macro
220.httpdate v0.3.20.9s0.4s (42%)
221.anyhow v1.0.35 custom-build0.9s0.0s (0%)default, std
222.native-tls v0.2.60.9s0.3s (38%)
223.bcrypt v0.9.00.9s0.4s (44%)default, std
224.unicase v2.6.0 custom-build (run)0.9s0.0s (0%)
225.proc-macro-hack v0.5.19 custom-build0.8s0.0s (0%)
226.brotli2 v0.3.20.8s0.3s (33%)
227.maybe-uninit v2.0.0 custom-build0.8s0.0s (0%)
228.quoted_printable v0.4.20.8s0.4s (44%)
229.crc32fast v1.2.10.8s0.3s (38%)default, std
230.radium v0.5.3 custom-build0.8s0.0s (0%)
231.addr2line v0.14.00.8s0.2s (23%)
232.futures-channel v0.3.80.8s0.1s (14%)alloc, default, futures-sink, sink, std
233.getrandom v0.1.15 custom-build0.8s0.0s (0%)std
234.tracing v0.1.220.8s0.3s (39%)log, std
235.once_cell v1.5.20.8s0.2s (24%)alloc, default, std
236.lock_api v0.4.20.8s0.0s (4%)
237.futures-task v0.3.80.8s0.2s (20%)alloc, once_cell, std
238.entities v1.0.10.8s0.1s (18%)
239.unicase v2.6.00.8s0.3s (35%)
240.pq-sys v0.4.60.8s0.2s (31%)
241.heck v0.3.10.7s0.4s (52%)
242.iovec v0.1.40.7s0.3s (43%)
243.radium v0.5.30.7s0.1s (7%)
244.num-traits v0.2.14 custom-build (run)0.7s0.0s (0%)default, i128, std
245.log v0.4.11 custom-build0.7s0.0s (0%)std
246.standback v0.2.13 custom-build0.7s0.0s (0%)std
247.num-rational v0.3.2 custom-build (run)0.7s0.0s (0%)
248.event-listener v2.5.10.7s0.3s (48%)
249.memchr v2.3.4 custom-build0.7s0.0s (0%)default, std, use_std
250.spin v0.5.20.7s0.0s (2%)
251.ryu v1.0.50.7s0.2s (35%)
252.num-iter v0.1.42 custom-build (run)0.7s0.0s (0%)default, std
253.actix-tls v2.0.00.7s0.2s (31%)default, rust-tls, rustls, tokio-rustls, webpki, webpki-roots
254.rayon v1.5.0 custom-build (run)0.7s0.0s (0%)
255.migrations_internals v1.4.10.7s0.1s (19%)default
256.openssl v0.10.31 custom-build0.7s0.0s (0%)
257.rand_core v0.5.10.7s0.2s (25%)alloc, getrandom, std
258.r2d2 v0.8.90.7s0.1s (16%)
259.getrandom v0.2.0 custom-build0.7s0.0s (0%)std
260.futures-executor v0.3.80.7s0.2s (37%)std
261.getrandom v0.1.150.7s0.2s (35%)std
262.openssl-probe v0.1.20.7s0.3s (53%)
263.actix-codec v0.3.00.7s0.1s (11%)
264.getrandom v0.2.00.6s0.2s (34%)std
265.unicode_categories v0.1.10.6s0.1s (11%)
266.shell-words v1.0.00.6s0.3s (44%)
267.num-bigint v0.2.6 custom-build0.6s0.0s (0%)default, std
268.futures-io v0.3.80.6s0.3s (47%)default, std
269.indexmap v1.6.1 custom-build (run)0.6s0.0s (0%)
270.miniz_oxide v0.4.3 custom-build (run)0.6s0.0s (0%)no_extern_crate_alloc
271.time v0.2.23 custom-build0.6s0.0s (0%)libc, std, stdweb, winapi
272.sct v0.6.00.6s0.2s (32%)
273.num-bigint v0.2.6 custom-build (run)0.6s0.0s (0%)default, std
274.generic-array v0.14.4 custom-build0.6s0.0s (0%)
275.futures-core v0.3.80.6s0.2s (29%)alloc, default, std
276.form_urlencoded v1.0.00.6s0.2s (35%)
277.brotli-sys v0.3.2 custom-build0.6s0.0s (0%)
278.unicase v2.6.0 custom-build0.6s0.0s (0%)
279.crossbeam-deque v0.8.00.6s0.0s (5%)crossbeam-epoch, crossbeam-utils, default, std
280.either v1.6.10.6s0.0s (2%)default, use_std
281.linked-hash-map v0.5.30.6s0.0s (3%)
282.crossbeam-utils v0.8.1 custom-build0.6s0.0s (0%)default, lazy_static, std
283.mio-uds v0.6.80.6s0.2s (29%)
284.hostname v0.3.10.5s0.2s (44%)default
285.num-integer v0.1.44 custom-build0.5s0.0s (0%)i128, std
286.num-traits v0.2.14 custom-build0.5s0.0s (0%)default, i128, std
287.actix-testing v1.0.10.5s0.1s (19%)
288.tokio-rustls v0.14.10.5s0.0s (7%)
289.v_htmlescape v0.11.0 custom-build0.5s0.0s (0%)bytes-buf, default
290.native-tls v0.2.6 custom-build0.5s0.0s (0%)
291.slab v0.4.20.5s0.0s (3%)
292.blowfish v0.7.00.5s0.1s (18%)bcrypt
293.bytestring v0.1.50.5s0.1s (29%)
294.crossbeam-utils v0.7.2 custom-build0.5s0.0s (0%)default, lazy_static, std
295.rayon v1.5.0 custom-build0.5s0.0s (0%)
296.linked-hash-map v0.3.00.5s0.0s (4%)serde, serde_impl, serde_test
297.cipher v0.2.50.5s0.0s (4%)
298.miniz_oxide v0.4.3 custom-build0.5s0.0s (0%)no_extern_crate_alloc
299.wyz v0.2.00.5s0.0s (3%)alloc
300.untrusted v0.7.10.5s0.1s (11%)
301.openssl-sys v0.9.59 custom-build (run)0.5s0.0s (0%)
302.adler v0.2.30.5s0.1s (30%)
303.want v0.3.00.5s0.2s (32%)
304.nom v5.1.2 custom-build0.5s0.0s (0%)alloc, default, lexical, lexical-core, std
305.memoffset v0.6.1 custom-build0.5s0.0s (0%)default
306.actix-threadpool v0.3.30.5s0.2s (33%)
307.nom v6.0.1 custom-build0.5s0.0s (0%)alloc, bitvec
308.cookie v0.14.3 custom-build0.5s0.0s (0%)percent-encode, percent-encoding
309.indexmap v1.6.1 custom-build0.5s0.0s (0%)
310.num-iter v0.1.420.4s0.0s (3%)default, std
311.tokio v0.3.6 custom-build0.4s0.0s (0%)default, sync
312.thiserror v1.0.220.4s0.1s (28%)
313.num-rational v0.3.2 custom-build0.4s0.0s (0%)
314.tokio v0.3.6 custom-build (run)0.4s0.0s (0%)default, sync
315.tokio-tls v0.3.10.4s0.0s (9%)
316.adler32 v1.2.00.4s0.1s (33%)default, std
317.bytemuck v1.4.10.4s0.0s (9%)
318.memoffset v0.6.1 custom-build (run)0.4s0.0s (0%)default
319.standback v0.2.13 custom-build (run)0.4s0.0s (0%)std
320.num-iter v0.1.42 custom-build0.4s0.0s (0%)default, std
321.buf-min v0.2.00.4s0.0s (5%)bytes, bytes-buf
322.itoa v0.4.60.4s0.0s (5%)default, std
323.nom v4.2.3 custom-build0.4s0.0s (0%)alloc, default, std
324.derive_builder v0.9.0 custom-build0.4s0.0s (0%)
325.lexical-core v0.7.4 custom-build0.4s0.0s (0%)arrayvec, correct, default, ryu, static_assertions, std, table
326.rayon-core v1.9.0 custom-build0.4s0.0s (0%)
327.v_escape v0.14.1 custom-build0.4s0.0s (0%)bytes-buf
328.ident_case v1.0.10.4s0.1s (17%)
329.unchecked-index v0.2.20.4s0.0s (9%)
330.static_assertions v1.1.00.4s0.0s (4%)
331.http-body v0.3.10.4s0.0s (10%)
332.typed-arena v1.7.00.4s0.0s (4%)default, std
333.anyhow v1.0.35 custom-build (run)0.4s0.0s (0%)default, std
334.tracing-futures v0.2.40.4s0.0s (6%)pin-project, std-future
335.fxhash v0.2.10.4s0.1s (19%)
336.async-mutex v1.4.00.3s0.0s (7%)
337.unicode-xid v0.2.10.3s0.1s (19%)default
338.lru-cache v0.1.20.3s0.0s (3%)
339.digest v0.9.00.3s0.0s (7%)alloc, std
340.scopeguard v1.1.00.3s0.0s (9%)
341.lazy_static v1.4.00.3s0.0s (12%)
342.background-jobs v0.8.00.3s0.0s (4%)background-jobs-actix, default
343.futures v0.3.80.3s0.0s (7%)alloc, async-await, default, executor, futures-executor, std
344.strum v0.20.00.3s0.0s (10%)
345.block-buffer v0.9.00.3s0.0s (14%)
346.atty v0.2.140.3s0.0s (8%)
347.proc-macro-nested v0.1.60.3s0.0s (6%)
348.hyper-tls v0.4.30.3s0.0s (9%)
349.webpki-roots v0.20.00.3s0.0s (7%)
350.memoffset v0.6.10.3s0.0s (5%)default
351.darling v0.10.20.3s0.0s (6%)default, suggestions
352.tap v1.0.00.3s0.0s (6%)
353.cpuid-bool v0.1.20.3s0.0s (12%)
354.fnv v1.0.70.3s0.0s (5%)default, std
355.instant v0.1.90.3s0.0s (17%)
356.futures-sink v0.3.80.3s0.0s (5%)alloc, default, std
357.cookie v0.14.3 custom-build (run)0.3s0.0s (0%)percent-encode, percent-encoding
358.quick-error v1.2.30.3s0.0s (7%)
359.try-lock v0.2.30.3s0.0s (7%)
360.bitflags v1.2.10.3s0.0s (8%)default
361.tower-service v0.3.00.3s0.0s (4%)
362.pin-project v0.4.270.3s0.0s (5%)
363.match_cfg v0.1.00.2s0.0s (14%)default, use_core
364.copyless v0.1.50.2s0.0s (5%)
365.cfg-if v0.1.100.2s0.0s (8%)
366.num-traits v0.1.430.2s0.0s (4%)
367.pin-utils v0.1.00.2s0.0s (4%)
368.maybe-uninit v2.0.00.2s0.0s (6%)
369.nom v6.0.1 custom-build (run)0.2s0.0s (0%)alloc, bitvec
370.brotli-sys v0.3.20.2s0.0s (7%)
371.crc32fast v1.2.1 custom-build (run)0.2s0.0s (0%)default, std
372.standback v0.2.130.2s0.0s (8%)std
373.nom v4.2.3 custom-build (run)0.2s0.0s (0%)alloc, default, std
374.maplit v1.0.20.2s0.0s (5%)
375.foreign-types v0.3.20.2s0.0s (7%)
376.cfg-if v1.0.00.2s0.0s (8%)
377.serde_derive v1.0.118 custom-build (run)0.2s0.0s (0%)default
378.opaque-debug v0.3.00.2s0.0s (9%)
379.nom v5.1.2 custom-build (run)0.2s0.0s (0%)alloc, default, lexical, lexical-core, std
380.proc-macro2 v1.0.24 custom-build (run)0.2s0.0s (0%)default, proc-macro
381.tinyvec_macros v0.1.00.2s0.0s (7%)
382.foreign-types-shared v0.1.10.2s0.0s (9%)
383.pin-project-lite v0.1.110.2s0.0s (4%)
384.generic-array v0.14.4 custom-build (run)0.2s0.0s (0%)
385.serde v1.0.118 custom-build (run)0.2s0.0s (0%)default, derive, serde_derive, std
386.pin-project v1.0.20.2s0.0s (5%)
387.serde_json v1.0.60 custom-build (run)0.2s0.0s (0%)default, indexmap, preserve_order, std
388.time v0.2.23 custom-build (run)0.2s0.0s (0%)libc, std, stdweb, winapi
389.pin-project-internal v0.4.27 custom-build (run)0.2s0.0s (0%)
390.syn v1.0.54 custom-build (run)0.2s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
391.v_escape v0.14.10.2s0.0s (5%)bytes-buf
392.const_fn v0.4.4 custom-build (run)0.2s0.0s (0%)
393.bitflags v1.2.1 custom-build (run)0.2s0.0s (0%)default
394.time-macros v0.1.10.2s0.0s (6%)
395.diesel_migrations v1.4.00.2s0.0s (4%)default
396.ryu v1.0.5 custom-build (run)0.2s0.0s (0%)
397.proc-macro-hack v0.5.19 custom-build (run)0.2s0.0s (0%)
398.byteorder v1.3.4 custom-build (run)0.2s0.0s (0%)default, std
399.pin-project-lite v0.2.00.2s0.0s (4%)
400.pq-sys v0.4.6 custom-build (run)0.2s0.0s (0%)
401.httparse v1.3.4 custom-build (run)0.2s0.0s (0%)default, std
402.libc v0.2.81 custom-build (run)0.2s0.0s (0%)align, default, std
403.maybe-uninit v2.0.0 custom-build (run)0.2s0.0s (0%)
404.hyperx v1.2.0 custom-build (run)0.1s0.0s (0%)headers
405.typenum v1.12.0 custom-build (run)0.1s0.0s (0%)
406.mime_guess v2.0.3 custom-build (run)0.1s0.0s (0%)default, rev-mappings
407.proc-macro-nested v0.1.6 custom-build (run)0.0s0.0s (0%)
408.encoding_rs v0.8.26 custom-build (run)0.0s0.0s (0%)
409.num-integer v0.1.44 custom-build (run)0.0s0.0s (0%)i128, std
410.radium v0.5.3 custom-build (run)0.0s0.0s (0%)
411.native-tls v0.2.6 custom-build (run)0.0s0.0s (0%)
412.v_htmlescape v0.11.0 custom-build (run)0.0s0.0s (0%)bytes-buf, default
413.memchr v2.3.4 custom-build (run)0.0s0.0s (1%)default, std, use_std
414.openssl v0.10.31 custom-build (run)0.0s0.0s (0%)
415.getrandom v0.1.15 custom-build (run)0.0s0.0s (0%)std
416.lexical-core v0.7.4 custom-build (run)0.0s0.0s (1%)arrayvec, correct, default, ryu, static_assertions, std, table
417.derive_builder v0.9.0 custom-build (run)0.0s0.0s (0%)
418.v_escape v0.14.1 custom-build (run)0.0s0.0s (0%)bytes-buf
419.log v0.4.11 custom-build (run)0.0s0.0s (1%)std
420.rayon-core v1.9.0 custom-build (run)0.0s0.0s (0%)
421.getrandom v0.2.0 custom-build (run)0.0s0.0s (1%)std
+ + + diff --git a/cargo-timing.html b/cargo-timing.html new file mode 100644 index 000000000..c14605108 --- /dev/null +++ b/cargo-timing.html @@ -0,0 +1,24104 @@ + + + + Cargo Build Timings — lemmy_server 0.0.1 + + + + + +

Cargo Build Timings

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Targets:lemmy_server 0.0.1 (lib, bin "lemmy_server")
Profile:dev
Fresh units:0
Dirty units:421
Total units:421
Max concurrency:12 (jobs=12 ncpu=12)
Build start:2020-12-19T14:19:46Z
Total time:191.9s (3m 11.9s)
rustc:rustc 1.50.0-nightly (825637983 2020-11-18)
Host: x86_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Max (global) rustc threads concurrency:0
+ + + + + + + + + + + + + + +
+ +
+ + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
UnitTotalCodegenFeatures
1.lemmy_db v0.1.045.2s6.9s (15%)
2.diesel v1.4.523.2s0.6s (2%)32-column-tables, bitflags, chrono, default, postgres, pq-sys, r2d2, serde_json, with-deprecated
3.syn v1.0.5419.5s7.8s (40%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
4.h2 v0.2.718.6s8.8s (47%)
5.lemmy_server v0.0.118.4s13.2s (72%)
6.serde_derive v1.0.11816.5s0.0s (0%)default
7.lemmy_server v0.0.1 bin "lemmy_server"15.8s0.0s (0%)
8.diesel_derives v1.4.114.2s0.0s (0%)default, postgres
9.hyper v0.13.914.2s0.8s (6%)socket2, tcp
10.derive_more v0.99.1114.1s0.0s (0%)add, add_assign, as_mut, as_ref, constructor, default, deref, deref_mut, display, error, from, from_str, index, index_mut, into, into_iterator, iterator, mul, mul_assign, not, sum, try_into
11.activitystreams v0.7.0-alpha.813.3s2.7s (20%)
12.trust-dns-proto v0.19.612.9s8.6s (66%)tokio, tokio-runtime
13.regex-syntax v0.6.2112.8s5.0s (39%)default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
14.image v0.23.1212.6s5.5s (44%)bmp, dds, default, dxt, farbfeld, gif, hdr, ico, jpeg, jpeg_rayon, png, pnm, scoped_threadpool, tga, tiff, webp
15.lettre v0.10.0-alpha.412.4s1.6s (13%)base64, builder, default, file-transport, hostname, hyperx, mime, native-tls, nom, quoted_printable, r2d2, rand, sendmail-transport, serde, serde_json, smtp-transport
16.pin-project-internal v0.4.2712.2s0.0s (0%)
17.async-trait v0.1.4211.9s0.0s (0%)
18.regex v1.4.211.5s8.6s (75%)aho-corasick, default, memchr, perf, perf-cache, perf-dfa, perf-inline, perf-literal, std, thread_local, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment
19.thiserror-impl v1.0.2211.2s0.0s (0%)
20.trust-dns-resolver v0.19.611.0s2.8s (25%)ipconfig, resolv-conf, system-config, tokio, tokio-runtime
21.rayon v1.5.010.5s0.8s (8%)
22.object v0.22.010.4s4.3s (41%)archive, coff, elf, macho, pe, read_core, unaligned
23.lemmy_api v0.1.010.2s4.7s (46%)
24.lemmy_apub v0.1.010.2s4.3s (42%)
25.tokio v0.2.2410.1s2.9s (29%)blocking, default, fnv, futures-core, io-driver, io-util, iovec, lazy_static, libc, memchr, mio, mio-uds, rt-core, rt-util, signal, signal-hook-registry, slab, stream, sync, tcp, time, udp, uds, winapi
26.lemmy_db_schema v0.1.09.6s0.8s (9%)
27.rustls v0.18.19.2s3.7s (40%)dangerous_configuration, default, log, logging
28.strum_macros v0.20.19.2s0.0s (0%)
29.darling_macro v0.10.28.5s0.0s (0%)
30.comrak v0.9.08.3s3.9s (47%)
31.openssl v0.10.318.2s2.8s (34%)
32.brotli-sys v0.3.2 custom-build (run)8.2s0.0s (0%)
33.actix_derive v0.5.08.2s0.0s (0%)
34.encoding_rs v0.8.267.7s3.8s (49%)
35.darling_core v0.10.27.7s2.3s (30%)strsim, suggestions
36.gimli v0.23.07.6s1.3s (17%)read
37.pin-project-internal v1.0.27.6s0.0s (0%)
38.futures-util v0.3.87.4s0.3s (4%)alloc, async-await, async-await-macro, channel, default, futures-channel, futures-io, futures-macro, futures-sink, io, memchr, proc-macro-hack, proc-macro-nested, sink, slab, std
39.rand v0.7.37.3s0.9s (12%)alloc, default, getrandom, getrandom_package, libc, std
40.rayon-core v1.9.07.1s5.5s (78%)
41.pest_generator v2.1.37.1s1.6s (23%)
42.http v0.2.27.0s1.9s (27%)
43.serde v1.0.1186.8s0.7s (11%)default, derive, serde_derive, std
44.ring v0.16.196.7s3.6s (53%)alloc, default, dev_urandom_fallback, once_cell, std
45.pest_meta v2.1.36.6s4.9s (75%)
46.hyperx v1.2.06.3s3.2s (50%)headers
47.actix-web v3.3.26.1s1.5s (25%)compress, default, rust-tls, rustls
48.cc v1.0.665.9s3.9s (66%)
49.actix-http v2.2.05.7s1.0s (19%)actix-tls, brotli2, compress, default, flate2, rustls
50.nom v6.0.15.6s0.5s (9%)alloc, bitvec
51.nom v5.1.25.4s0.8s (14%)alloc, default, lexical, lexical-core, std
52.serde v0.8.235.3s0.3s (6%)default, std
53.reqwest v0.10.105.3s3.3s (62%)__tls, default, default-tls, hyper-tls, json, native-tls-crate, serde_json, tokio-tls
54.time v0.2.235.3s2.2s (42%)libc, std, stdweb, winapi
55.backtrace v0.3.555.1s4.0s (79%)addr2line, default, gimli-symbolize, miniz_oxide, object, std
56.bitvec v0.19.44.9s0.1s (1%)alloc
57.aho-corasick v0.7.154.9s2.7s (56%)default, std
58.ryu v1.0.5 custom-build4.8s0.0s (0%)
59.num-bigint v0.2.64.8s1.4s (30%)default, std
60.lemmy_structs v0.1.04.7s0.4s (8%)
61.lodepng v3.2.24.7s2.8s (59%)default, rust_backend
62.awc v2.0.34.5s3.0s (66%)compress, rust-tls, rustls
63.derive_builder v0.9.04.2s0.0s (0%)
64.tiff v0.6.14.2s2.8s (67%)
65.lexical-core v0.7.44.1s0.3s (7%)arrayvec, correct, default, ryu, static_assertions, std, table
66.actix-server v1.0.44.1s2.2s (52%)default
67.jpeg-decoder v0.1.204.0s2.1s (52%)rayon
68.serde_json v1.0.603.9s0.8s (21%)default, indexmap, preserve_order, std
69.serde-hjson v0.9.13.8s2.2s (59%)default, linked-hash-map, preserve_order
70.v_escape_derive v0.8.43.8s0.0s (0%)
71.futures-macro v0.3.83.7s0.0s (0%)
72.pest v2.1.33.5s0.5s (13%)
73.chrono v0.4.193.4s0.4s (13%)clock, default, libc, oldtime, serde, std, time, winapi
74.tokio v0.3.63.3s1.4s (41%)default, sync
75.rand_chacha v0.2.23.2s2.2s (69%)std
76.proc-macro-hack v0.5.193.1s0.0s (0%)
77.lemmy_utils v0.1.03.1s0.6s (21%)
78.mio v0.6.233.1s1.4s (45%)default, with-deprecated
79.typenum v1.12.0 custom-build3.0s0.0s (0%)
80.miniz_oxide v0.3.73.0s1.4s (48%)
81.proc-macro2 v1.0.243.0s1.6s (53%)default, proc-macro
82.actix v0.10.03.0s0.3s (9%)default, resolver, trust-dns-proto, trust-dns-resolver
83.ring v0.16.19 custom-build (run)3.0s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
84.config v0.10.13.0s1.5s (49%)hjson, serde-hjson
85.actix-web-codegen v0.4.03.0s0.0s (0%)
86.base64 v0.13.02.9s0.3s (12%)default, std
87.itertools v0.9.02.9s0.5s (17%)default, use_std
88.url v2.2.02.8s0.8s (30%)serde
89.pkg-config v0.3.192.8s1.2s (44%)
90.rss v1.9.02.8s0.7s (24%)builders, default, derive_builder
91.unicode-segmentation v1.7.12.7s0.3s (12%)
92.nom v4.2.32.7s1.0s (36%)alloc, default, std
93.bytes v0.5.62.7s0.5s (18%)default, std
94.httparse v1.3.4 custom-build2.6s0.0s (0%)default, std
95.unicode-normalization v0.1.162.6s0.4s (16%)default, std
96.time-macros-impl v0.1.12.6s0.0s (0%)
97.deflate v0.8.62.6s1.3s (52%)
98.idna v0.2.02.6s1.2s (45%)
99.env_logger v0.8.22.5s1.1s (45%)atty, default, humantime, regex, termcolor
100.png v0.16.82.5s1.1s (43%)default, deflate, png-encoding
101.num-rational v0.3.22.5s1.4s (56%)
102.sha2 v0.9.22.4s0.8s (32%)default, std
103.base64 v0.12.32.3s0.4s (15%)default, std
104.actix-router v0.2.52.3s0.7s (30%)default, http
105.language-tags v0.2.22.3s1.7s (74%)
106.miniz_oxide v0.4.32.3s1.2s (51%)no_extern_crate_alloc
107.mime_guess v2.0.3 custom-build2.3s0.0s (0%)default, rev-mappings
108.crc32fast v1.2.1 custom-build2.2s0.0s (0%)default, std
109.num-traits v0.2.142.2s0.2s (8%)default, i128, std
110.tinyvec v1.1.02.2s0.0s (1%)alloc, default, tinyvec_macros
111.mime v0.3.162.2s1.7s (78%)
112.funty v1.0.12.2s1.0s (47%)
113.ipnet v2.3.02.2s1.2s (54%)
114.v_htmlescape v0.11.02.1s0.6s (28%)bytes-buf, default
115.background-jobs-core v0.8.02.1s0.5s (22%)actix-rt, default, tokio, with-actix
116.tracing-core v0.1.172.1s1.0s (51%)lazy_static, std
117.bytes v0.6.02.1s0.6s (31%)default, std
118.lemmy_websocket v0.1.02.0s0.7s (36%)
119.bitflags v1.2.1 custom-build2.0s0.0s (0%)default
120.typenum v1.12.02.0s0.1s (3%)
121.actix-rt v1.1.12.0s1.1s (55%)
122.unicode-bidi v0.3.42.0s1.1s (57%)default
123.migrations_macros v1.4.22.0s0.0s (0%)default
124.libc v0.2.811.9s0.2s (10%)align, default, std
125.encoding_rs v0.8.26 custom-build1.9s0.0s (0%)
126.actix-files v0.4.11.9s0.6s (32%)
127.byteorder v1.3.4 custom-build1.9s0.0s (0%)default, std
128.proc-macro-nested v0.1.6 custom-build1.9s0.0s (0%)
129.derive_builder_core v0.9.01.9s1.0s (54%)
130.enum-as-inner v0.3.31.9s0.0s (0%)
131.percent-encoding v2.1.01.8s0.2s (13%)
132.scoped_threadpool v0.1.91.8s1.4s (78%)
133.actix-utils v2.0.01.8s0.5s (28%)
134.gif v0.11.11.8s0.7s (37%)default, raii_no_panic, std
135.serde_json v1.0.60 custom-build1.8s0.0s (0%)default, indexmap, preserve_order, std
136.smallvec v1.5.11.8s0.0s (3%)
137.crossbeam-channel v0.5.01.8s0.6s (33%)crossbeam-utils, default, std
138.pin-project-internal v0.4.27 custom-build1.8s0.0s (0%)
139.ring v0.16.19 custom-build1.7s0.0s (0%)alloc, default, dev_urandom_fallback, once_cell, std
140.crossbeam-channel v0.4.41.7s0.5s (30%)
141.signal-hook-registry v1.2.21.7s1.0s (56%)
142.quick-xml v0.17.21.7s0.7s (43%)default, encoding, encoding_rs
143.cookie v0.14.31.7s1.0s (61%)percent-encode, percent-encoding
144.const_fn v0.4.41.7s0.0s (0%)
145.actix-macros v0.1.31.7s0.0s (0%)
146.weezl v0.1.31.7s0.9s (54%)alloc, default, std
147.time v0.1.441.7s0.7s (43%)
148.http-signature-normalization v0.5.31.6s0.9s (57%)
149.mime_guess v2.0.31.6s0.4s (27%)default, rev-mappings
150.openssl-sys v0.9.59 custom-build1.6s0.0s (0%)
151.pem v0.8.21.6s1.1s (70%)
152.hashbrown v0.9.11.6s0.1s (3%)raw
153.openssl-sys v0.9.591.6s0.2s (11%)
154.jsonwebtoken v7.2.01.6s0.5s (34%)
155.webpki v0.21.41.6s0.7s (44%)default, std, trust_anchor_util
156.crossbeam-utils v0.8.1 custom-build (run)1.5s0.0s (0%)default, lazy_static, std
157.resolv-conf v0.7.01.5s0.8s (51%)hostname, system
158.http-signature-normalization-actix v0.4.11.5s0.4s (28%)base64, digest, sha-2, sha2
159.crossbeam-utils v0.7.2 custom-build (run)1.5s0.0s (0%)default, lazy_static, std
160.flate2 v1.0.191.5s0.4s (27%)default, miniz_oxide, rust_backend
161.crossbeam-utils v0.8.11.5s0.7s (47%)default, lazy_static, std
162.actix-service v1.0.61.5s0.0s (3%)
163.rustc-demangle v0.1.181.5s0.7s (49%)
164.autocfg v1.0.11.5s0.9s (63%)
165.crossbeam-utils v0.7.21.5s0.7s (45%)default, lazy_static, std
166.arrayvec v0.5.21.4s0.0s (2%)array-sizes-33-128, default, std
167.pest_derive v2.1.01.4s0.0s (0%)
168.simple_asn1 v0.4.11.4s0.7s (51%)
169.version_check v0.9.21.4s0.8s (57%)
170.serde_test v0.8.231.4s0.2s (11%)
171.xdg v2.2.01.4s0.8s (59%)
172.parking_lot v0.11.11.4s0.8s (58%)default
173.num_cpus v1.13.01.4s0.9s (63%)
174.threadpool v1.8.11.4s1.0s (73%)
175.actix-web-actors v3.0.01.3s0.5s (38%)
176.termcolor v1.1.21.3s0.6s (45%)
177.socket2 v0.3.181.3s0.6s (48%)
178.anyhow v1.0.351.3s0.7s (53%)default, std
179.httparse v1.3.41.3s0.5s (41%)default, std
180.net2 v0.2.371.3s0.6s (50%)default, duration
181.captcha v0.0.81.2s0.5s (37%)
182.memchr v2.3.41.2s0.5s (40%)default, std, use_std
183.crossbeam-epoch v0.9.11.2s0.5s (40%)alloc, lazy_static, std
184.tokio-util v0.3.11.2s0.4s (28%)codec, compat, default, full, futures-io, udp
185.version_check v0.1.51.2s0.8s (65%)
186.strsim v0.9.31.2s0.8s (62%)
187.background-jobs-actix v0.8.01.2s0.3s (27%)
188.indexmap v1.6.11.2s0.1s (12%)
189.uuid v0.8.11.2s0.2s (21%)default, rand, serde, std, v4
190.actix-connect v2.0.01.2s0.3s (27%)default, http, rust-tls, rustls, tokio-rustls, uri, webpki
191.hyperx v1.2.0 custom-build1.2s0.0s (0%)headers
192.ppv-lite86 v0.2.101.1s0.0s (1%)simd, std
193.ucd-trie v0.1.31.1s0.7s (62%)default, std
194.rgb v0.8.251.1s0.0s (4%)as-bytes, bytemuck, default
195.num-integer v0.1.441.1s0.3s (30%)i128, std
196.matches v0.1.81.1s0.0s (1%)
197.scheduled-thread-pool v0.2.51.1s0.7s (65%)
198.humantime v2.0.11.1s0.4s (40%)
199.pq-sys v0.4.6 custom-build1.1s0.0s (0%)
200.serde_urlencoded v0.7.01.1s0.1s (10%)
201.log v0.4.111.1s0.4s (36%)std
202.quote v1.0.71.1s0.5s (47%)default, proc-macro
203.const_fn v0.4.4 custom-build1.1s0.0s (0%)
204.parking_lot_core v0.8.11.0s0.5s (44%)
205.generic-array v0.14.41.0s0.0s (3%)
206.lemmy_rate_limit v0.1.01.0s0.2s (17%)
207.sha-1 v0.9.21.0s0.5s (45%)default, std
208.thread_local v1.0.11.0s0.4s (43%)
209.activitystreams-ext v0.1.0-alpha.21.0s0.1s (6%)
210.syn v1.0.54 custom-build1.0s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
211.twoway v0.2.11.0s0.4s (41%)default, use_std
212.http-signature-normalization-reqwest v0.1.31.0s0.1s (14%)base64, digest, sha-2, sha2, tokio
213.libc v0.2.81 custom-build0.9s0.0s (0%)align, default, std
214.byteorder v1.3.40.9s0.2s (17%)default, std
215.serde_derive v1.0.118 custom-build0.9s0.0s (0%)default
216.serde v1.0.118 custom-build0.9s0.0s (0%)default, derive, serde_derive, std
217.color_quant v1.1.00.9s0.5s (58%)
218.hound v3.4.00.9s0.3s (29%)
219.proc-macro2 v1.0.24 custom-build0.9s0.0s (0%)default, proc-macro
220.httpdate v0.3.20.9s0.4s (42%)
221.anyhow v1.0.35 custom-build0.9s0.0s (0%)default, std
222.native-tls v0.2.60.9s0.3s (38%)
223.bcrypt v0.9.00.9s0.4s (44%)default, std
224.unicase v2.6.0 custom-build (run)0.9s0.0s (0%)
225.proc-macro-hack v0.5.19 custom-build0.8s0.0s (0%)
226.brotli2 v0.3.20.8s0.3s (33%)
227.maybe-uninit v2.0.0 custom-build0.8s0.0s (0%)
228.quoted_printable v0.4.20.8s0.4s (44%)
229.crc32fast v1.2.10.8s0.3s (38%)default, std
230.radium v0.5.3 custom-build0.8s0.0s (0%)
231.addr2line v0.14.00.8s0.2s (23%)
232.futures-channel v0.3.80.8s0.1s (14%)alloc, default, futures-sink, sink, std
233.getrandom v0.1.15 custom-build0.8s0.0s (0%)std
234.tracing v0.1.220.8s0.3s (39%)log, std
235.once_cell v1.5.20.8s0.2s (24%)alloc, default, std
236.lock_api v0.4.20.8s0.0s (4%)
237.futures-task v0.3.80.8s0.2s (20%)alloc, once_cell, std
238.entities v1.0.10.8s0.1s (18%)
239.unicase v2.6.00.8s0.3s (35%)
240.pq-sys v0.4.60.8s0.2s (31%)
241.heck v0.3.10.7s0.4s (52%)
242.iovec v0.1.40.7s0.3s (43%)
243.radium v0.5.30.7s0.1s (7%)
244.num-traits v0.2.14 custom-build (run)0.7s0.0s (0%)default, i128, std
245.log v0.4.11 custom-build0.7s0.0s (0%)std
246.standback v0.2.13 custom-build0.7s0.0s (0%)std
247.num-rational v0.3.2 custom-build (run)0.7s0.0s (0%)
248.event-listener v2.5.10.7s0.3s (48%)
249.memchr v2.3.4 custom-build0.7s0.0s (0%)default, std, use_std
250.spin v0.5.20.7s0.0s (2%)
251.ryu v1.0.50.7s0.2s (35%)
252.num-iter v0.1.42 custom-build (run)0.7s0.0s (0%)default, std
253.actix-tls v2.0.00.7s0.2s (31%)default, rust-tls, rustls, tokio-rustls, webpki, webpki-roots
254.rayon v1.5.0 custom-build (run)0.7s0.0s (0%)
255.migrations_internals v1.4.10.7s0.1s (19%)default
256.openssl v0.10.31 custom-build0.7s0.0s (0%)
257.rand_core v0.5.10.7s0.2s (25%)alloc, getrandom, std
258.r2d2 v0.8.90.7s0.1s (16%)
259.getrandom v0.2.0 custom-build0.7s0.0s (0%)std
260.futures-executor v0.3.80.7s0.2s (37%)std
261.getrandom v0.1.150.7s0.2s (35%)std
262.openssl-probe v0.1.20.7s0.3s (53%)
263.actix-codec v0.3.00.7s0.1s (11%)
264.getrandom v0.2.00.6s0.2s (34%)std
265.unicode_categories v0.1.10.6s0.1s (11%)
266.shell-words v1.0.00.6s0.3s (44%)
267.num-bigint v0.2.6 custom-build0.6s0.0s (0%)default, std
268.futures-io v0.3.80.6s0.3s (47%)default, std
269.indexmap v1.6.1 custom-build (run)0.6s0.0s (0%)
270.miniz_oxide v0.4.3 custom-build (run)0.6s0.0s (0%)no_extern_crate_alloc
271.time v0.2.23 custom-build0.6s0.0s (0%)libc, std, stdweb, winapi
272.sct v0.6.00.6s0.2s (32%)
273.num-bigint v0.2.6 custom-build (run)0.6s0.0s (0%)default, std
274.generic-array v0.14.4 custom-build0.6s0.0s (0%)
275.futures-core v0.3.80.6s0.2s (29%)alloc, default, std
276.form_urlencoded v1.0.00.6s0.2s (35%)
277.brotli-sys v0.3.2 custom-build0.6s0.0s (0%)
278.unicase v2.6.0 custom-build0.6s0.0s (0%)
279.crossbeam-deque v0.8.00.6s0.0s (5%)crossbeam-epoch, crossbeam-utils, default, std
280.either v1.6.10.6s0.0s (2%)default, use_std
281.linked-hash-map v0.5.30.6s0.0s (3%)
282.crossbeam-utils v0.8.1 custom-build0.6s0.0s (0%)default, lazy_static, std
283.mio-uds v0.6.80.6s0.2s (29%)
284.hostname v0.3.10.5s0.2s (44%)default
285.num-integer v0.1.44 custom-build0.5s0.0s (0%)i128, std
286.num-traits v0.2.14 custom-build0.5s0.0s (0%)default, i128, std
287.actix-testing v1.0.10.5s0.1s (19%)
288.tokio-rustls v0.14.10.5s0.0s (7%)
289.v_htmlescape v0.11.0 custom-build0.5s0.0s (0%)bytes-buf, default
290.native-tls v0.2.6 custom-build0.5s0.0s (0%)
291.slab v0.4.20.5s0.0s (3%)
292.blowfish v0.7.00.5s0.1s (18%)bcrypt
293.bytestring v0.1.50.5s0.1s (29%)
294.crossbeam-utils v0.7.2 custom-build0.5s0.0s (0%)default, lazy_static, std
295.rayon v1.5.0 custom-build0.5s0.0s (0%)
296.linked-hash-map v0.3.00.5s0.0s (4%)serde, serde_impl, serde_test
297.cipher v0.2.50.5s0.0s (4%)
298.miniz_oxide v0.4.3 custom-build0.5s0.0s (0%)no_extern_crate_alloc
299.wyz v0.2.00.5s0.0s (3%)alloc
300.untrusted v0.7.10.5s0.1s (11%)
301.openssl-sys v0.9.59 custom-build (run)0.5s0.0s (0%)
302.adler v0.2.30.5s0.1s (30%)
303.want v0.3.00.5s0.2s (32%)
304.nom v5.1.2 custom-build0.5s0.0s (0%)alloc, default, lexical, lexical-core, std
305.memoffset v0.6.1 custom-build0.5s0.0s (0%)default
306.actix-threadpool v0.3.30.5s0.2s (33%)
307.nom v6.0.1 custom-build0.5s0.0s (0%)alloc, bitvec
308.cookie v0.14.3 custom-build0.5s0.0s (0%)percent-encode, percent-encoding
309.indexmap v1.6.1 custom-build0.5s0.0s (0%)
310.num-iter v0.1.420.4s0.0s (3%)default, std
311.tokio v0.3.6 custom-build0.4s0.0s (0%)default, sync
312.thiserror v1.0.220.4s0.1s (28%)
313.num-rational v0.3.2 custom-build0.4s0.0s (0%)
314.tokio v0.3.6 custom-build (run)0.4s0.0s (0%)default, sync
315.tokio-tls v0.3.10.4s0.0s (9%)
316.adler32 v1.2.00.4s0.1s (33%)default, std
317.bytemuck v1.4.10.4s0.0s (9%)
318.memoffset v0.6.1 custom-build (run)0.4s0.0s (0%)default
319.standback v0.2.13 custom-build (run)0.4s0.0s (0%)std
320.num-iter v0.1.42 custom-build0.4s0.0s (0%)default, std
321.buf-min v0.2.00.4s0.0s (5%)bytes, bytes-buf
322.itoa v0.4.60.4s0.0s (5%)default, std
323.nom v4.2.3 custom-build0.4s0.0s (0%)alloc, default, std
324.derive_builder v0.9.0 custom-build0.4s0.0s (0%)
325.lexical-core v0.7.4 custom-build0.4s0.0s (0%)arrayvec, correct, default, ryu, static_assertions, std, table
326.rayon-core v1.9.0 custom-build0.4s0.0s (0%)
327.v_escape v0.14.1 custom-build0.4s0.0s (0%)bytes-buf
328.ident_case v1.0.10.4s0.1s (17%)
329.unchecked-index v0.2.20.4s0.0s (9%)
330.static_assertions v1.1.00.4s0.0s (4%)
331.http-body v0.3.10.4s0.0s (10%)
332.typed-arena v1.7.00.4s0.0s (4%)default, std
333.anyhow v1.0.35 custom-build (run)0.4s0.0s (0%)default, std
334.tracing-futures v0.2.40.4s0.0s (6%)pin-project, std-future
335.fxhash v0.2.10.4s0.1s (19%)
336.async-mutex v1.4.00.3s0.0s (7%)
337.unicode-xid v0.2.10.3s0.1s (19%)default
338.lru-cache v0.1.20.3s0.0s (3%)
339.digest v0.9.00.3s0.0s (7%)alloc, std
340.scopeguard v1.1.00.3s0.0s (9%)
341.lazy_static v1.4.00.3s0.0s (12%)
342.background-jobs v0.8.00.3s0.0s (4%)background-jobs-actix, default
343.futures v0.3.80.3s0.0s (7%)alloc, async-await, default, executor, futures-executor, std
344.strum v0.20.00.3s0.0s (10%)
345.block-buffer v0.9.00.3s0.0s (14%)
346.atty v0.2.140.3s0.0s (8%)
347.proc-macro-nested v0.1.60.3s0.0s (6%)
348.hyper-tls v0.4.30.3s0.0s (9%)
349.webpki-roots v0.20.00.3s0.0s (7%)
350.memoffset v0.6.10.3s0.0s (5%)default
351.darling v0.10.20.3s0.0s (6%)default, suggestions
352.tap v1.0.00.3s0.0s (6%)
353.cpuid-bool v0.1.20.3s0.0s (12%)
354.fnv v1.0.70.3s0.0s (5%)default, std
355.instant v0.1.90.3s0.0s (17%)
356.futures-sink v0.3.80.3s0.0s (5%)alloc, default, std
357.cookie v0.14.3 custom-build (run)0.3s0.0s (0%)percent-encode, percent-encoding
358.quick-error v1.2.30.3s0.0s (7%)
359.try-lock v0.2.30.3s0.0s (7%)
360.bitflags v1.2.10.3s0.0s (8%)default
361.tower-service v0.3.00.3s0.0s (4%)
362.pin-project v0.4.270.3s0.0s (5%)
363.match_cfg v0.1.00.2s0.0s (14%)default, use_core
364.copyless v0.1.50.2s0.0s (5%)
365.cfg-if v0.1.100.2s0.0s (8%)
366.num-traits v0.1.430.2s0.0s (4%)
367.pin-utils v0.1.00.2s0.0s (4%)
368.maybe-uninit v2.0.00.2s0.0s (6%)
369.nom v6.0.1 custom-build (run)0.2s0.0s (0%)alloc, bitvec
370.brotli-sys v0.3.20.2s0.0s (7%)
371.crc32fast v1.2.1 custom-build (run)0.2s0.0s (0%)default, std
372.standback v0.2.130.2s0.0s (8%)std
373.nom v4.2.3 custom-build (run)0.2s0.0s (0%)alloc, default, std
374.maplit v1.0.20.2s0.0s (5%)
375.foreign-types v0.3.20.2s0.0s (7%)
376.cfg-if v1.0.00.2s0.0s (8%)
377.serde_derive v1.0.118 custom-build (run)0.2s0.0s (0%)default
378.opaque-debug v0.3.00.2s0.0s (9%)
379.nom v5.1.2 custom-build (run)0.2s0.0s (0%)alloc, default, lexical, lexical-core, std
380.proc-macro2 v1.0.24 custom-build (run)0.2s0.0s (0%)default, proc-macro
381.tinyvec_macros v0.1.00.2s0.0s (7%)
382.foreign-types-shared v0.1.10.2s0.0s (9%)
383.pin-project-lite v0.1.110.2s0.0s (4%)
384.generic-array v0.14.4 custom-build (run)0.2s0.0s (0%)
385.serde v1.0.118 custom-build (run)0.2s0.0s (0%)default, derive, serde_derive, std
386.pin-project v1.0.20.2s0.0s (5%)
387.serde_json v1.0.60 custom-build (run)0.2s0.0s (0%)default, indexmap, preserve_order, std
388.time v0.2.23 custom-build (run)0.2s0.0s (0%)libc, std, stdweb, winapi
389.pin-project-internal v0.4.27 custom-build (run)0.2s0.0s (0%)
390.syn v1.0.54 custom-build (run)0.2s0.0s (0%)clone-impls, default, derive, extra-traits, fold, full, parsing, printing, proc-macro, quote, visit, visit-mut
391.v_escape v0.14.10.2s0.0s (5%)bytes-buf
392.const_fn v0.4.4 custom-build (run)0.2s0.0s (0%)
393.bitflags v1.2.1 custom-build (run)0.2s0.0s (0%)default
394.time-macros v0.1.10.2s0.0s (6%)
395.diesel_migrations v1.4.00.2s0.0s (4%)default
396.ryu v1.0.5 custom-build (run)0.2s0.0s (0%)
397.proc-macro-hack v0.5.19 custom-build (run)0.2s0.0s (0%)
398.byteorder v1.3.4 custom-build (run)0.2s0.0s (0%)default, std
399.pin-project-lite v0.2.00.2s0.0s (4%)
400.pq-sys v0.4.6 custom-build (run)0.2s0.0s (0%)
401.httparse v1.3.4 custom-build (run)0.2s0.0s (0%)default, std
402.libc v0.2.81 custom-build (run)0.2s0.0s (0%)align, default, std
403.maybe-uninit v2.0.0 custom-build (run)0.2s0.0s (0%)
404.hyperx v1.2.0 custom-build (run)0.1s0.0s (0%)headers
405.typenum v1.12.0 custom-build (run)0.1s0.0s (0%)
406.mime_guess v2.0.3 custom-build (run)0.1s0.0s (0%)default, rev-mappings
407.proc-macro-nested v0.1.6 custom-build (run)0.0s0.0s (0%)
408.encoding_rs v0.8.26 custom-build (run)0.0s0.0s (0%)
409.num-integer v0.1.44 custom-build (run)0.0s0.0s (0%)i128, std
410.radium v0.5.3 custom-build (run)0.0s0.0s (0%)
411.native-tls v0.2.6 custom-build (run)0.0s0.0s (0%)
412.v_htmlescape v0.11.0 custom-build (run)0.0s0.0s (0%)bytes-buf, default
413.memchr v2.3.4 custom-build (run)0.0s0.0s (1%)default, std, use_std
414.openssl v0.10.31 custom-build (run)0.0s0.0s (0%)
415.getrandom v0.1.15 custom-build (run)0.0s0.0s (0%)std
416.lexical-core v0.7.4 custom-build (run)0.0s0.0s (1%)arrayvec, correct, default, ryu, static_assertions, std, table
417.derive_builder v0.9.0 custom-build (run)0.0s0.0s (0%)
418.v_escape v0.14.1 custom-build (run)0.0s0.0s (0%)bytes-buf
419.log v0.4.11 custom-build (run)0.0s0.0s (1%)std
420.rayon-core v1.9.0 custom-build (run)0.0s0.0s (0%)
421.getrandom v0.2.0 custom-build (run)0.0s0.0s (1%)std
+ + + diff --git a/lemmy_api/src/community.rs b/lemmy_api/src/community.rs index 0316beaa3..3d13a7fb8 100644 --- a/lemmy_api/src/community.rs +++ b/lemmy_api/src/community.rs @@ -11,7 +11,13 @@ use anyhow::Context; use lemmy_apub::ActorType; use lemmy_db::{ diesel_option_overwrite, - source::{comment::Comment_, community::*, moderator::*, post::Post_, site::*}, + source::{ + comment::Comment_, + community::{CommunityModerator_, Community_}, + moderator::*, + post::Post_, + site::*, + }, views::{ comment_view::CommentQueryBuilder, community::{ @@ -30,7 +36,7 @@ use lemmy_db::{ }; use lemmy_db_schema::{ naive_now, - source::{comment::Comment, post::Post}, + source::{comment::Comment, community::*, post::Post}, }; use lemmy_structs::{blocking, community::*}; use lemmy_utils::{ diff --git a/lemmy_api/src/lib.rs b/lemmy_api/src/lib.rs index e6c3b8253..fc484c323 100644 --- a/lemmy_api/src/lib.rs +++ b/lemmy_api/src/lib.rs @@ -1,12 +1,16 @@ use crate::claims::Claims; use actix_web::{web, web::Data}; use lemmy_db::{ - source::community::{Community, CommunityModerator}, + source::community::{CommunityModerator_, Community_}, views::community::community_user_ban_view::CommunityUserBanView, Crud, DbPool, }; -use lemmy_db_schema::source::{post::Post, user::User_}; +use lemmy_db_schema::source::{ + community::{Community, CommunityModerator}, + post::Post, + user::User_, +}; use lemmy_structs::{blocking, comment::*, community::*, post::*, site::*, user::*}; use lemmy_utils::{settings::Settings, APIError, ConnectionId, LemmyError}; use lemmy_websocket::{serialize_websocket_message, LemmyContext, UserOperation}; diff --git a/lemmy_api/src/user.rs b/lemmy_api/src/user.rs index a6e1cbced..b1a92bbe5 100644 --- a/lemmy_api/src/user.rs +++ b/lemmy_api/src/user.rs @@ -18,7 +18,7 @@ use lemmy_db::{ diesel_option_overwrite, source::{ comment::Comment_, - community::*, + community::Community_, moderator::*, password_reset_request::*, post::Post_, @@ -49,7 +49,7 @@ use lemmy_db::{ }; use lemmy_db_schema::{ naive_now, - source::{comment::Comment, post::Post, user::*}, + source::{comment::Comment, community::*, post::Post, user::*}, }; use lemmy_structs::{blocking, send_email_to_user, user::*}; use lemmy_utils::{ diff --git a/lemmy_apub/src/activities/receive/community.rs b/lemmy_apub/src/activities/receive/community.rs index 534da5cb7..932917b1e 100644 --- a/lemmy_apub/src/activities/receive/community.rs +++ b/lemmy_apub/src/activities/receive/community.rs @@ -5,10 +5,11 @@ use activitystreams::{ }; use anyhow::Context; use lemmy_db::{ - source::community::Community, + source::community::Community_, views::community::community_view::CommunityView, ApubObject, }; +use lemmy_db_schema::source::community::Community; use lemmy_structs::{blocking, community::CommunityResponse}; use lemmy_utils::{location_info, LemmyError}; use lemmy_websocket::{messages::SendCommunityRoomMessage, LemmyContext, UserOperation}; diff --git a/lemmy_apub/src/activities/send/comment.rs b/lemmy_apub/src/activities/send/comment.rs index fa39fd472..4ddd2d321 100644 --- a/lemmy_apub/src/activities/send/comment.rs +++ b/lemmy_apub/src/activities/send/comment.rs @@ -26,8 +26,8 @@ use activitystreams::{ }; use anyhow::anyhow; use itertools::Itertools; -use lemmy_db::{source::community::Community, Crud, DbPool}; -use lemmy_db_schema::source::{comment::Comment, post::Post, user::User_}; +use lemmy_db::{Crud, DbPool}; +use lemmy_db_schema::source::{comment::Comment, community::Community, post::Post, user::User_}; use lemmy_structs::{blocking, WebFingerResponse}; use lemmy_utils::{ request::{retry, RecvError}, diff --git a/lemmy_apub/src/activities/send/community.rs b/lemmy_apub/src/activities/send/community.rs index 96152fa0d..035a8dfed 100644 --- a/lemmy_apub/src/activities/send/community.rs +++ b/lemmy_apub/src/activities/send/community.rs @@ -23,11 +23,8 @@ use activitystreams::{ }; use anyhow::Context; use itertools::Itertools; -use lemmy_db::{ - source::community::Community, - views::community::community_follower_view::CommunityFollowerView, - DbPool, -}; +use lemmy_db::{views::community::community_follower_view::CommunityFollowerView, DbPool}; +use lemmy_db_schema::source::community::Community; use lemmy_structs::blocking; use lemmy_utils::{location_info, settings::Settings, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/activities/send/post.rs b/lemmy_apub/src/activities/send/post.rs index c79f79ac5..732a53c33 100644 --- a/lemmy_apub/src/activities/send/post.rs +++ b/lemmy_apub/src/activities/send/post.rs @@ -21,8 +21,8 @@ use activitystreams::{ prelude::*, public, }; -use lemmy_db::{source::community::Community, Crud}; -use lemmy_db_schema::source::{post::Post, user::User_}; +use lemmy_db::Crud; +use lemmy_db_schema::source::{community::Community, post::Post, user::User_}; use lemmy_structs::blocking; use lemmy_utils::LemmyError; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/activities/send/user.rs b/lemmy_apub/src/activities/send/user.rs index 8c01aff85..cad20e9d9 100644 --- a/lemmy_apub/src/activities/send/user.rs +++ b/lemmy_apub/src/activities/send/user.rs @@ -13,13 +13,11 @@ use activitystreams::{ base::{AnyBase, BaseExt, ExtendsExt}, object::ObjectExt, }; -use lemmy_db::{ - source::community::{Community, CommunityFollower, CommunityFollowerForm}, - ApubObject, - DbPool, - Followable, +use lemmy_db::{ApubObject, DbPool, Followable}; +use lemmy_db_schema::source::{ + community::{Community, CommunityFollower, CommunityFollowerForm}, + user::User_, }; -use lemmy_db_schema::source::user::User_; use lemmy_structs::blocking; use lemmy_utils::LemmyError; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/activity_queue.rs b/lemmy_apub/src/activity_queue.rs index b32a3eb67..597c182b7 100644 --- a/lemmy_apub/src/activity_queue.rs +++ b/lemmy_apub/src/activity_queue.rs @@ -19,8 +19,8 @@ use background_jobs::{ WorkerConfig, }; use itertools::Itertools; -use lemmy_db::{source::community::Community, DbPool}; -use lemmy_db_schema::source::user::User_; +use lemmy_db::DbPool; +use lemmy_db_schema::source::{community::Community, user::User_}; use lemmy_utils::{location_info, settings::Settings, LemmyError}; use lemmy_websocket::LemmyContext; use log::{debug, warn}; diff --git a/lemmy_apub/src/fetcher.rs b/lemmy_apub/src/fetcher.rs index a4c5d66fc..608302fab 100644 --- a/lemmy_apub/src/fetcher.rs +++ b/lemmy_apub/src/fetcher.rs @@ -13,10 +13,7 @@ use anyhow::{anyhow, Context}; use chrono::NaiveDateTime; use diesel::result::Error::NotFound; use lemmy_db::{ - source::{ - community::{Community, CommunityModerator, CommunityModeratorForm}, - user::User, - }, + source::user::User, views::{ comment_view::CommentView, community::community_view::CommunityView, @@ -30,7 +27,12 @@ use lemmy_db::{ }; use lemmy_db_schema::{ naive_now, - source::{comment::Comment, post::Post, user::User_}, + source::{ + comment::Comment, + community::{Community, CommunityModerator, CommunityModeratorForm}, + post::Post, + user::User_, + }, }; use lemmy_structs::{blocking, site::SearchResponse}; use lemmy_utils::{ diff --git a/lemmy_apub/src/http/community.rs b/lemmy_apub/src/http/community.rs index 0ab14e070..45c576d24 100644 --- a/lemmy_apub/src/http/community.rs +++ b/lemmy_apub/src/http/community.rs @@ -10,10 +10,10 @@ use activitystreams::{ }; use actix_web::{body::Body, web, HttpResponse}; use lemmy_db::{ - source::{community::Community, post::Post_}, + source::{community::Community_, post::Post_}, views::community::community_follower_view::CommunityFollowerView, }; -use lemmy_db_schema::source::post::Post; +use lemmy_db_schema::source::{community::Community, post::Post}; use lemmy_structs::blocking; use lemmy_utils::LemmyError; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/inbox/community_inbox.rs b/lemmy_apub/src/inbox/community_inbox.rs index 9d5d4d1b7..0573b589f 100644 --- a/lemmy_apub/src/inbox/community_inbox.rs +++ b/lemmy_apub/src/inbox/community_inbox.rs @@ -27,13 +27,16 @@ use activitystreams::{ use actix_web::{web, HttpRequest, HttpResponse}; use anyhow::{anyhow, Context}; use lemmy_db::{ - source::community::{Community, CommunityFollower, CommunityFollowerForm}, + source::community::Community_, views::community::community_user_ban_view::CommunityUserBanView, ApubObject, DbPool, Followable, }; -use lemmy_db_schema::source::user::User_; +use lemmy_db_schema::source::{ + community::{Community, CommunityFollower, CommunityFollowerForm}, + user::User_, +}; use lemmy_structs::blocking; use lemmy_utils::{location_info, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/inbox/mod.rs b/lemmy_apub/src/inbox/mod.rs index 2d0977724..ae48ff074 100644 --- a/lemmy_apub/src/inbox/mod.rs +++ b/lemmy_apub/src/inbox/mod.rs @@ -12,12 +12,8 @@ use activitystreams::{ }; use actix_web::HttpRequest; use anyhow::{anyhow, Context}; -use lemmy_db::{ - source::{activity::Activity, community::Community}, - ApubObject, - DbPool, -}; -use lemmy_db_schema::source::user::User_; +use lemmy_db::{source::activity::Activity, ApubObject, DbPool}; +use lemmy_db_schema::source::{community::Community, user::User_}; use lemmy_structs::blocking; use lemmy_utils::{location_info, settings::Settings, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/inbox/shared_inbox.rs b/lemmy_apub/src/inbox/shared_inbox.rs index d94c54f25..d6c08a310 100644 --- a/lemmy_apub/src/inbox/shared_inbox.rs +++ b/lemmy_apub/src/inbox/shared_inbox.rs @@ -15,7 +15,8 @@ use crate::{ use activitystreams::{activity::ActorAndObject, prelude::*}; use actix_web::{web, HttpRequest, HttpResponse}; use anyhow::Context; -use lemmy_db::{source::community::Community, ApubObject, DbPool}; +use lemmy_db::{ApubObject, DbPool}; +use lemmy_db_schema::source::community::Community; use lemmy_structs::blocking; use lemmy_utils::{location_info, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/inbox/user_inbox.rs b/lemmy_apub/src/inbox/user_inbox.rs index d9feffd38..1b1a9d95f 100644 --- a/lemmy_apub/src/inbox/user_inbox.rs +++ b/lemmy_apub/src/inbox/user_inbox.rs @@ -49,15 +49,14 @@ use actix_web::{web, HttpRequest, HttpResponse}; use anyhow::{anyhow, Context}; use diesel::NotFound; use lemmy_db::{ - source::{ - community::{Community, CommunityFollower}, - private_message::PrivateMessage, - user::User, - }, + source::{private_message::PrivateMessage, user::User}, ApubObject, Followable, }; -use lemmy_db_schema::source::user::User_; +use lemmy_db_schema::source::{ + community::{Community, CommunityFollower}, + user::User_, +}; use lemmy_structs::blocking; use lemmy_utils::{location_info, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/lemmy_apub/src/objects/comment.rs b/lemmy_apub/src/objects/comment.rs index a753c8dbe..d3341630a 100644 --- a/lemmy_apub/src/objects/comment.rs +++ b/lemmy_apub/src/objects/comment.rs @@ -23,9 +23,10 @@ use activitystreams::{ prelude::*, }; use anyhow::{anyhow, Context}; -use lemmy_db::{source::community::Community, Crud, DbPool}; +use lemmy_db::{Crud, DbPool}; use lemmy_db_schema::source::{ comment::{Comment, CommentForm}, + community::Community, post::Post, user::User_, }; diff --git a/lemmy_apub/src/objects/community.rs b/lemmy_apub/src/objects/community.rs index f5fa2c318..b408f7737 100644 --- a/lemmy_apub/src/objects/community.rs +++ b/lemmy_apub/src/objects/community.rs @@ -22,12 +22,11 @@ use activitystreams::{ }; use activitystreams_ext::Ext2; use anyhow::Context; -use lemmy_db::{ +use lemmy_db::{views::community::community_moderator_view::CommunityModeratorView, DbPool}; +use lemmy_db_schema::{ + naive_now, source::community::{Community, CommunityForm}, - views::community::community_moderator_view::CommunityModeratorView, - DbPool, }; -use lemmy_db_schema::naive_now; use lemmy_structs::blocking; use lemmy_utils::{ location_info, diff --git a/lemmy_apub/src/objects/post.rs b/lemmy_apub/src/objects/post.rs index ed5a5d9ca..499ac8020 100644 --- a/lemmy_apub/src/objects/post.rs +++ b/lemmy_apub/src/objects/post.rs @@ -20,8 +20,9 @@ use activitystreams::{ }; use activitystreams_ext::Ext1; use anyhow::Context; -use lemmy_db::{source::community::Community, Crud, DbPool}; +use lemmy_db::{Crud, DbPool}; use lemmy_db_schema::source::{ + community::Community, post::{Post, PostForm}, user::User_, }; diff --git a/lemmy_db/src/aggregates/community_aggregates.rs b/lemmy_db/src/aggregates/community_aggregates.rs index f452892db..229652f00 100644 --- a/lemmy_db/src/aggregates/community_aggregates.rs +++ b/lemmy_db/src/aggregates/community_aggregates.rs @@ -24,7 +24,6 @@ impl CommunityAggregates { mod tests { use crate::{ aggregates::community_aggregates::CommunityAggregates, - source::community::{Community, CommunityFollower, CommunityFollowerForm, CommunityForm}, tests::establish_unpooled_connection, Crud, Followable, @@ -33,6 +32,7 @@ mod tests { }; use lemmy_db_schema::source::{ comment::{Comment, CommentForm}, + community::{Community, CommunityFollower, CommunityFollowerForm, CommunityForm}, post::{Post, PostForm}, user::{UserForm, User_}, }; diff --git a/lemmy_db/src/aggregates/post_aggregates.rs b/lemmy_db/src/aggregates/post_aggregates.rs index 434e52fd9..01082ca06 100644 --- a/lemmy_db/src/aggregates/post_aggregates.rs +++ b/lemmy_db/src/aggregates/post_aggregates.rs @@ -26,7 +26,6 @@ impl PostAggregates { mod tests { use crate::{ aggregates::post_aggregates::PostAggregates, - source::community::{Community, CommunityForm}, tests::establish_unpooled_connection, Crud, Likeable, @@ -35,6 +34,7 @@ mod tests { }; use lemmy_db_schema::source::{ comment::{Comment, CommentForm}, + community::{Community, CommunityForm}, post::{Post, PostForm, PostLike, PostLikeForm}, user::{UserForm, User_}, }; diff --git a/lemmy_db/src/aggregates/site_aggregates.rs b/lemmy_db/src/aggregates/site_aggregates.rs index 7fafc8eff..52890d814 100644 --- a/lemmy_db/src/aggregates/site_aggregates.rs +++ b/lemmy_db/src/aggregates/site_aggregates.rs @@ -22,7 +22,6 @@ impl SiteAggregates { mod tests { use crate::{ aggregates::site_aggregates::SiteAggregates, - source::community::{Community, CommunityForm}, tests::establish_unpooled_connection, Crud, ListingType, @@ -30,6 +29,7 @@ mod tests { }; use lemmy_db_schema::source::{ comment::{Comment, CommentForm}, + community::{Community, CommunityForm}, post::{Post, PostForm}, user::{UserForm, User_}, }; diff --git a/lemmy_db/src/aggregates/user_aggregates.rs b/lemmy_db/src/aggregates/user_aggregates.rs index 61a1ae7cc..e8981fd62 100644 --- a/lemmy_db/src/aggregates/user_aggregates.rs +++ b/lemmy_db/src/aggregates/user_aggregates.rs @@ -25,7 +25,6 @@ impl UserAggregates { mod tests { use crate::{ aggregates::user_aggregates::UserAggregates, - source::community::{Community, CommunityForm}, tests::establish_unpooled_connection, Crud, Likeable, @@ -34,6 +33,7 @@ mod tests { }; use lemmy_db_schema::source::{ comment::{Comment, CommentForm, CommentLike, CommentLikeForm}, + community::{Community, CommunityForm}, post::{Post, PostForm, PostLike, PostLikeForm}, user::{UserForm, User_}, }; diff --git a/lemmy_db/src/source/comment.rs b/lemmy_db/src/source/comment.rs index 010ca7da8..d70d7b699 100644 --- a/lemmy_db/src/source/comment.rs +++ b/lemmy_db/src/source/comment.rs @@ -205,7 +205,6 @@ impl Saveable for CommentSaved { #[cfg(test)] mod tests { use crate::{ - source::community::*, tests::establish_unpooled_connection, Crud, Likeable, @@ -215,6 +214,7 @@ mod tests { }; use lemmy_db_schema::source::{ comment::*, + community::{Community, CommunityForm}, post::*, user::{UserForm, User_}, }; diff --git a/lemmy_db/src/source/community.rs b/lemmy_db/src/source/community.rs index 795ed1232..9a30ca4cd 100644 --- a/lemmy_db/src/source/community.rs +++ b/lemmy_db/src/source/community.rs @@ -9,57 +9,22 @@ use crate::{ use diesel::{dsl::*, result::Error, *}; use lemmy_db_schema::{ naive_now, - schema::{community, community_follower, community_moderator, community_user_ban}, + source::community::{ + Community, + CommunityFollower, + CommunityFollowerForm, + CommunityForm, + CommunityModerator, + CommunityModeratorForm, + CommunityUserBan, + CommunityUserBanForm, + }, }; -use serde::Serialize; - -#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] -#[table_name = "community"] -pub struct Community { - pub id: i32, - pub name: String, - pub title: String, - pub description: Option, - pub category_id: i32, - pub creator_id: i32, - pub removed: bool, - pub published: chrono::NaiveDateTime, - pub updated: Option, - pub deleted: bool, - pub nsfw: bool, - pub actor_id: String, - pub local: bool, - pub private_key: Option, - pub public_key: Option, - pub last_refreshed_at: chrono::NaiveDateTime, - pub icon: Option, - pub banner: Option, -} - -/// A safe representation of community, without the sensitive info -#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] -#[table_name = "community"] -pub struct CommunitySafe { - pub id: i32, - pub name: String, - pub title: String, - pub description: Option, - pub category_id: i32, - pub creator_id: i32, - pub removed: bool, - pub published: chrono::NaiveDateTime, - pub updated: Option, - pub deleted: bool, - pub nsfw: bool, - pub actor_id: String, - pub local: bool, - pub icon: Option, - pub banner: Option, -} mod safe_type { use crate::{source::community::Community, ToSafe}; - use lemmy_db_schema::schema::community::columns::*; + use lemmy_db_schema::schema::community::*; + type Columns = ( id, name, @@ -102,28 +67,6 @@ mod safe_type { } } -#[derive(Insertable, AsChangeset, Debug)] -#[table_name = "community"] -pub struct CommunityForm { - pub name: String, - pub title: String, - pub description: Option, - pub category_id: i32, - pub creator_id: i32, - pub removed: Option, - pub published: Option, - pub updated: Option, - pub deleted: Option, - pub nsfw: bool, - pub actor_id: Option, - pub local: bool, - pub private_key: Option, - pub public_key: Option, - pub last_refreshed_at: Option, - pub icon: Option>, - pub banner: Option>, -} - impl Crud for Community { fn read(conn: &PgConnection, community_id: i32) -> Result { use lemmy_db_schema::schema::community::dsl::*; @@ -173,8 +116,35 @@ impl ApubObject for Community { } } -impl Community { - pub fn read_from_name(conn: &PgConnection, community_name: &str) -> Result { +pub trait Community_ { + fn read_from_name(conn: &PgConnection, community_name: &str) -> Result; + fn update_deleted( + conn: &PgConnection, + community_id: i32, + new_deleted: bool, + ) -> Result; + fn update_removed( + conn: &PgConnection, + community_id: i32, + new_removed: bool, + ) -> Result; + fn update_removed_for_creator( + conn: &PgConnection, + for_creator_id: i32, + new_removed: bool, + ) -> Result, Error>; + fn update_creator( + conn: &PgConnection, + community_id: i32, + new_creator_id: i32, + ) -> Result; + fn community_mods_and_admins(conn: &PgConnection, community_id: i32) -> Result, Error>; + fn distinct_federated_communities(conn: &PgConnection) -> Result, Error>; + fn is_mod_or_admin(conn: &PgConnection, user_id: i32, community_id: i32) -> bool; +} + +impl Community_ for Community { + fn read_from_name(conn: &PgConnection, community_name: &str) -> Result { use lemmy_db_schema::schema::community::dsl::*; community .filter(local.eq(true)) @@ -182,44 +152,44 @@ impl Community { .first::(conn) } - pub fn update_deleted( + fn update_deleted( conn: &PgConnection, community_id: i32, new_deleted: bool, - ) -> Result { + ) -> Result { use lemmy_db_schema::schema::community::dsl::*; diesel::update(community.find(community_id)) .set((deleted.eq(new_deleted), updated.eq(naive_now()))) .get_result::(conn) } - pub fn update_removed( + fn update_removed( conn: &PgConnection, community_id: i32, new_removed: bool, - ) -> Result { + ) -> Result { use lemmy_db_schema::schema::community::dsl::*; diesel::update(community.find(community_id)) .set((removed.eq(new_removed), updated.eq(naive_now()))) .get_result::(conn) } - pub fn update_removed_for_creator( + fn update_removed_for_creator( conn: &PgConnection, for_creator_id: i32, new_removed: bool, - ) -> Result, Error> { + ) -> Result, Error> { use lemmy_db_schema::schema::community::dsl::*; diesel::update(community.filter(creator_id.eq(for_creator_id))) .set((removed.eq(new_removed), updated.eq(naive_now()))) .get_results::(conn) } - pub fn update_creator( + fn update_creator( conn: &PgConnection, community_id: i32, new_creator_id: i32, - ) -> Result { + ) -> Result { use lemmy_db_schema::schema::community::dsl::*; diesel::update(community.find(community_id)) .set((creator_id.eq(new_creator_id), updated.eq(naive_now()))) @@ -237,35 +207,18 @@ impl Community { Ok(mods_and_admins) } - pub fn distinct_federated_communities(conn: &PgConnection) -> Result, Error> { + fn distinct_federated_communities(conn: &PgConnection) -> Result, Error> { use lemmy_db_schema::schema::community::dsl::*; community.select(actor_id).distinct().load::(conn) } - pub fn is_mod_or_admin(conn: &PgConnection, user_id: i32, community_id: i32) -> bool { + fn is_mod_or_admin(conn: &PgConnection, user_id: i32, community_id: i32) -> bool { Self::community_mods_and_admins(conn, community_id) .unwrap_or_default() .contains(&user_id) } } -#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] -#[belongs_to(Community)] -#[table_name = "community_moderator"] -pub struct CommunityModerator { - pub id: i32, - pub community_id: i32, - pub user_id: i32, - pub published: chrono::NaiveDateTime, -} - -#[derive(Insertable, AsChangeset, Clone)] -#[table_name = "community_moderator"] -pub struct CommunityModeratorForm { - pub community_id: i32, - pub user_id: i32, -} - impl Joinable for CommunityModerator { fn join( conn: &PgConnection, @@ -291,13 +244,21 @@ impl Joinable for CommunityModerator { } } -impl CommunityModerator { - pub fn delete_for_community(conn: &PgConnection, for_community_id: i32) -> Result { +pub trait CommunityModerator_ { + fn delete_for_community(conn: &PgConnection, for_community_id: i32) -> Result; + fn get_user_moderated_communities( + conn: &PgConnection, + for_user_id: i32, + ) -> Result, Error>; +} + +impl CommunityModerator_ for CommunityModerator { + fn delete_for_community(conn: &PgConnection, for_community_id: i32) -> Result { use lemmy_db_schema::schema::community_moderator::dsl::*; diesel::delete(community_moderator.filter(community_id.eq(for_community_id))).execute(conn) } - pub fn get_user_moderated_communities( + fn get_user_moderated_communities( conn: &PgConnection, for_user_id: i32, ) -> Result, Error> { @@ -309,23 +270,6 @@ impl CommunityModerator { } } -#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] -#[belongs_to(Community)] -#[table_name = "community_user_ban"] -pub struct CommunityUserBan { - pub id: i32, - pub community_id: i32, - pub user_id: i32, - pub published: chrono::NaiveDateTime, -} - -#[derive(Insertable, AsChangeset, Clone)] -#[table_name = "community_user_ban"] -pub struct CommunityUserBanForm { - pub community_id: i32, - pub user_id: i32, -} - impl Bannable for CommunityUserBan { fn ban( conn: &PgConnection, @@ -351,25 +295,6 @@ impl Bannable for CommunityUserBan { } } -#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] -#[belongs_to(Community)] -#[table_name = "community_follower"] -pub struct CommunityFollower { - pub id: i32, - pub community_id: i32, - pub user_id: i32, - pub published: chrono::NaiveDateTime, - pub pending: Option, -} - -#[derive(Insertable, AsChangeset, Clone)] -#[table_name = "community_follower"] -pub struct CommunityFollowerForm { - pub community_id: i32, - pub user_id: i32, - pub pending: bool, -} - impl Followable for CommunityFollower { fn follow( conn: &PgConnection, @@ -421,8 +346,16 @@ impl Followable for CommunityFollower { #[cfg(test)] mod tests { - use crate::{source::community::*, tests::establish_unpooled_connection, ListingType, SortType}; - use lemmy_db_schema::source::user::*; + use crate::{ + tests::establish_unpooled_connection, + Bannable, + Crud, + Followable, + Joinable, + ListingType, + SortType, + }; + use lemmy_db_schema::source::{community::*, user::*}; #[test] fn test_crud() { diff --git a/lemmy_db/src/source/moderator.rs b/lemmy_db/src/source/moderator.rs index ddb1407dc..dbe4fd18d 100644 --- a/lemmy_db/src/source/moderator.rs +++ b/lemmy_db/src/source/moderator.rs @@ -391,12 +391,13 @@ impl Crud for ModAdd { #[cfg(test)] mod tests { use crate::{ - source::{community::*, moderator::*}, + source::moderator::*, tests::establish_unpooled_connection, + Crud, ListingType, SortType, }; - use lemmy_db_schema::source::{comment::*, post::*, user::*}; + use lemmy_db_schema::source::{comment::*, community::*, post::*, user::*}; // use Crud; #[test] diff --git a/lemmy_db/src/source/post.rs b/lemmy_db/src/source/post.rs index 688ef39f3..81f09e722 100644 --- a/lemmy_db/src/source/post.rs +++ b/lemmy_db/src/source/post.rs @@ -231,13 +231,11 @@ impl Readable for PostRead { #[cfg(test)] mod tests { - use crate::{ - source::{community::*, post::*}, - tests::establish_unpooled_connection, - ListingType, - SortType, + use crate::{source::post::*, tests::establish_unpooled_connection, ListingType, SortType}; + use lemmy_db_schema::source::{ + community::{Community, CommunityForm}, + user::*, }; - use lemmy_db_schema::source::user::*; #[test] fn test_crud() { diff --git a/lemmy_db/src/source/user_mention.rs b/lemmy_db/src/source/user_mention.rs index 64e24d32b..b518cc891 100644 --- a/lemmy_db/src/source/user_mention.rs +++ b/lemmy_db/src/source/user_mention.rs @@ -79,12 +79,18 @@ impl UserMention { #[cfg(test)] mod tests { use crate::{ - source::{community::*, user_mention::*}, + source::user_mention::*, tests::establish_unpooled_connection, + Crud, ListingType, SortType, }; - use lemmy_db_schema::source::{comment::*, post::*, user::*}; + use lemmy_db_schema::source::{ + comment::*, + community::{Community, CommunityForm}, + post::*, + user::*, + }; #[test] fn test_crud() { diff --git a/lemmy_db/src/views/comment_report_view.rs b/lemmy_db/src/views/comment_report_view.rs index 0bfd6fe8d..7709f8fdb 100644 --- a/lemmy_db/src/views/comment_report_view.rs +++ b/lemmy_db/src/views/comment_report_view.rs @@ -1,9 +1,6 @@ use crate::{ limit_and_offset, - source::{ - comment_report::CommentReport, - community::{Community, CommunitySafe}, - }, + source::comment_report::CommentReport, views::ViewToVec, MaybeOptional, ToSafe, @@ -13,6 +10,7 @@ use lemmy_db_schema::{ schema::{comment, comment_report, community, post, user_, user_alias_1, user_alias_2}, source::{ comment::Comment, + community::{Community, CommunitySafe}, post::Post, user::{UserAlias1, UserAlias2, UserSafe, UserSafeAlias1, UserSafeAlias2, User_}, }, diff --git a/lemmy_db/src/views/comment_view.rs b/lemmy_db/src/views/comment_view.rs index 3628b5838..7b1d0bc61 100644 --- a/lemmy_db/src/views/comment_view.rs +++ b/lemmy_db/src/views/comment_view.rs @@ -3,7 +3,6 @@ use crate::{ functions::hot_rank, fuzzy_search, limit_and_offset, - source::community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, views::ViewToVec, ListingType, MaybeOptional, @@ -27,6 +26,7 @@ use lemmy_db_schema::{ }, source::{ comment::{Comment, CommentAlias1, CommentSaved}, + community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, post::Post, user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, }, @@ -409,15 +409,8 @@ impl ViewToVec for CommentView { #[cfg(test)] mod tests { - use crate::{ - source::community::*, - tests::establish_unpooled_connection, - views::comment_view::*, - Crud, - Likeable, - *, - }; - use lemmy_db_schema::source::{comment::*, post::*, user::*}; + use crate::{tests::establish_unpooled_connection, views::comment_view::*, Crud, Likeable, *}; + use lemmy_db_schema::source::{comment::*, community::*, post::*, user::*}; #[test] fn test_crud() { diff --git a/lemmy_db/src/views/community/community_follower_view.rs b/lemmy_db/src/views/community/community_follower_view.rs index 144481ce1..e7ba0e4a6 100644 --- a/lemmy_db/src/views/community/community_follower_view.rs +++ b/lemmy_db/src/views/community/community_follower_view.rs @@ -1,12 +1,11 @@ -use crate::{ - source::community::{Community, CommunitySafe}, - views::ViewToVec, - ToSafe, -}; +use crate::{views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, community_follower, user_}, - source::user::{UserSafe, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserSafe, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/community/community_moderator_view.rs b/lemmy_db/src/views/community/community_moderator_view.rs index ffd2f6229..6800853ea 100644 --- a/lemmy_db/src/views/community/community_moderator_view.rs +++ b/lemmy_db/src/views/community/community_moderator_view.rs @@ -1,12 +1,11 @@ -use crate::{ - source::community::{Community, CommunitySafe}, - views::ViewToVec, - ToSafe, -}; +use crate::{views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, community_moderator, user_}, - source::user::{UserSafe, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserSafe, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/community/community_user_ban_view.rs b/lemmy_db/src/views/community/community_user_ban_view.rs index 80ac78cc3..1c26ebcf1 100644 --- a/lemmy_db/src/views/community/community_user_ban_view.rs +++ b/lemmy_db/src/views/community/community_user_ban_view.rs @@ -1,11 +1,11 @@ -use crate::{ - source::community::{Community, CommunitySafe}, - ToSafe, -}; +use crate::ToSafe; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, community_user_ban, user_}, - source::user::{UserSafe, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserSafe, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/community/community_view.rs b/lemmy_db/src/views/community/community_view.rs index bd7119364..3ccaabd65 100644 --- a/lemmy_db/src/views/community/community_view.rs +++ b/lemmy_db/src/views/community/community_view.rs @@ -3,10 +3,7 @@ use crate::{ functions::hot_rank, fuzzy_search, limit_and_offset, - source::{ - category::Category, - community::{Community, CommunityFollower, CommunitySafe}, - }, + source::category::Category, views::ViewToVec, MaybeOptional, SortType, @@ -15,7 +12,10 @@ use crate::{ use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{category, community, community_aggregates, community_follower, user_}, - source::user::{UserSafe, User_}, + source::{ + community::{Community, CommunityFollower, CommunitySafe}, + user::{UserSafe, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/moderator/mod_add_community_view.rs b/lemmy_db/src/views/moderator/mod_add_community_view.rs index 2e0483221..8189286a5 100644 --- a/lemmy_db/src/views/moderator/mod_add_community_view.rs +++ b/lemmy_db/src/views/moderator/mod_add_community_view.rs @@ -1,16 +1,11 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModAddCommunity, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModAddCommunity, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_add_community, user_, user_alias_1}, - source::user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/moderator/mod_ban_from_community_view.rs b/lemmy_db/src/views/moderator/mod_ban_from_community_view.rs index e31d6d19b..3c46f71a6 100644 --- a/lemmy_db/src/views/moderator/mod_ban_from_community_view.rs +++ b/lemmy_db/src/views/moderator/mod_ban_from_community_view.rs @@ -1,16 +1,11 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModBanFromCommunity, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModBanFromCommunity, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_ban_from_community, user_, user_alias_1}, - source::user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/moderator/mod_lock_post_view.rs b/lemmy_db/src/views/moderator/mod_lock_post_view.rs index 9687e1b58..1c0ce7c76 100644 --- a/lemmy_db/src/views/moderator/mod_lock_post_view.rs +++ b/lemmy_db/src/views/moderator/mod_lock_post_view.rs @@ -1,16 +1,9 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModLockPost, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModLockPost, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_lock_post, post, user_}, source::{ + community::{Community, CommunitySafe}, post::Post, user::{UserSafe, User_}, }, diff --git a/lemmy_db/src/views/moderator/mod_remove_comment_view.rs b/lemmy_db/src/views/moderator/mod_remove_comment_view.rs index 70fb8cbdf..2edd72d9c 100644 --- a/lemmy_db/src/views/moderator/mod_remove_comment_view.rs +++ b/lemmy_db/src/views/moderator/mod_remove_comment_view.rs @@ -1,17 +1,10 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModRemoveComment, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModRemoveComment, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{comment, community, mod_remove_comment, post, user_, user_alias_1}, source::{ comment::Comment, + community::{Community, CommunitySafe}, post::Post, user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, }, diff --git a/lemmy_db/src/views/moderator/mod_remove_community_view.rs b/lemmy_db/src/views/moderator/mod_remove_community_view.rs index 9e7fb6a45..e4d680f7e 100644 --- a/lemmy_db/src/views/moderator/mod_remove_community_view.rs +++ b/lemmy_db/src/views/moderator/mod_remove_community_view.rs @@ -1,16 +1,11 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModRemoveCommunity, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModRemoveCommunity, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_remove_community, user_}, - source::user::{UserSafe, User_}, + source::{ + community::{Community, CommunitySafe}, + user::{UserSafe, User_}, + }, }; use serde::Serialize; diff --git a/lemmy_db/src/views/moderator/mod_remove_post_view.rs b/lemmy_db/src/views/moderator/mod_remove_post_view.rs index fe976c8ea..1d5943b8c 100644 --- a/lemmy_db/src/views/moderator/mod_remove_post_view.rs +++ b/lemmy_db/src/views/moderator/mod_remove_post_view.rs @@ -1,16 +1,9 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModRemovePost, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModRemovePost, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_remove_post, post, user_}, source::{ + community::{Community, CommunitySafe}, post::Post, user::{UserSafe, User_}, }, diff --git a/lemmy_db/src/views/moderator/mod_sticky_post_view.rs b/lemmy_db/src/views/moderator/mod_sticky_post_view.rs index c51d083f0..0bd775dc9 100644 --- a/lemmy_db/src/views/moderator/mod_sticky_post_view.rs +++ b/lemmy_db/src/views/moderator/mod_sticky_post_view.rs @@ -1,16 +1,9 @@ -use crate::{ - limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - moderator::ModStickyPost, - }, - views::ViewToVec, - ToSafe, -}; +use crate::{limit_and_offset, source::moderator::ModStickyPost, views::ViewToVec, ToSafe}; use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, mod_sticky_post, post, user_}, source::{ + community::{Community, CommunitySafe}, post::Post, user::{UserSafe, User_}, }, diff --git a/lemmy_db/src/views/post_report_view.rs b/lemmy_db/src/views/post_report_view.rs index 9c42f7769..dcb74b36a 100644 --- a/lemmy_db/src/views/post_report_view.rs +++ b/lemmy_db/src/views/post_report_view.rs @@ -1,9 +1,6 @@ use crate::{ limit_and_offset, - source::{ - community::{Community, CommunitySafe}, - post_report::PostReport, - }, + source::post_report::PostReport, views::ViewToVec, MaybeOptional, ToSafe, @@ -12,6 +9,7 @@ use diesel::{result::Error, *}; use lemmy_db_schema::{ schema::{community, post, post_report, user_, user_alias_1, user_alias_2}, source::{ + community::{Community, CommunitySafe}, post::Post, user::{UserAlias1, UserAlias2, UserSafe, UserSafeAlias1, UserSafeAlias2, User_}, }, diff --git a/lemmy_db/src/views/post_view.rs b/lemmy_db/src/views/post_view.rs index e3bdd178f..358b46cd8 100644 --- a/lemmy_db/src/views/post_view.rs +++ b/lemmy_db/src/views/post_view.rs @@ -3,7 +3,6 @@ use crate::{ functions::hot_rank, fuzzy_search, limit_and_offset, - source::community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, views::ViewToVec, ListingType, MaybeOptional, @@ -24,6 +23,7 @@ use lemmy_db_schema::{ user_, }, source::{ + community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, post::{Post, PostRead, PostSaved}, user::{UserSafe, User_}, }, @@ -408,14 +408,13 @@ impl ViewToVec for PostView { mod tests { use crate::{ aggregates::post_aggregates::PostAggregates, - source::community::*, tests::establish_unpooled_connection, views::post_view::{PostQueryBuilder, PostView}, Crud, Likeable, *, }; - use lemmy_db_schema::source::{post::*, user::*}; + use lemmy_db_schema::source::{community::*, post::*, user::*}; #[test] fn test_crud() { diff --git a/lemmy_db/src/views/user_mention_view.rs b/lemmy_db/src/views/user_mention_view.rs index 61a788a40..373b3e1a5 100644 --- a/lemmy_db/src/views/user_mention_view.rs +++ b/lemmy_db/src/views/user_mention_view.rs @@ -2,10 +2,7 @@ use crate::{ aggregates::comment_aggregates::CommentAggregates, functions::hot_rank, limit_and_offset, - source::{ - community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, - user_mention::UserMention, - }, + source::user_mention::UserMention, views::ViewToVec, MaybeOptional, SortType, @@ -28,6 +25,7 @@ use lemmy_db_schema::{ }, source::{ comment::{Comment, CommentSaved}, + community::{Community, CommunityFollower, CommunitySafe, CommunityUserBan}, post::Post, user::{UserAlias1, UserSafe, UserSafeAlias1, User_}, }, diff --git a/lemmy_db_schema/src/source/community.rs b/lemmy_db_schema/src/source/community.rs new file mode 100644 index 000000000..af7fce0c9 --- /dev/null +++ b/lemmy_db_schema/src/source/community.rs @@ -0,0 +1,121 @@ +use crate::schema::{community, community_follower, community_moderator, community_user_ban}; +use serde::Serialize; + +#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] +#[table_name = "community"] +pub struct Community { + pub id: i32, + pub name: String, + pub title: String, + pub description: Option, + pub category_id: i32, + pub creator_id: i32, + pub removed: bool, + pub published: chrono::NaiveDateTime, + pub updated: Option, + pub deleted: bool, + pub nsfw: bool, + pub actor_id: String, + pub local: bool, + pub private_key: Option, + pub public_key: Option, + pub last_refreshed_at: chrono::NaiveDateTime, + pub icon: Option, + pub banner: Option, +} + +/// A safe representation of community, without the sensitive info +#[derive(Clone, Queryable, Identifiable, PartialEq, Debug, Serialize)] +#[table_name = "community"] +pub struct CommunitySafe { + pub id: i32, + pub name: String, + pub title: String, + pub description: Option, + pub category_id: i32, + pub creator_id: i32, + pub removed: bool, + pub published: chrono::NaiveDateTime, + pub updated: Option, + pub deleted: bool, + pub nsfw: bool, + pub actor_id: String, + pub local: bool, + pub icon: Option, + pub banner: Option, +} + +#[derive(Insertable, AsChangeset, Debug)] +#[table_name = "community"] +pub struct CommunityForm { + pub name: String, + pub title: String, + pub description: Option, + pub category_id: i32, + pub creator_id: i32, + pub removed: Option, + pub published: Option, + pub updated: Option, + pub deleted: Option, + pub nsfw: bool, + pub actor_id: Option, + pub local: bool, + pub private_key: Option, + pub public_key: Option, + pub last_refreshed_at: Option, + pub icon: Option>, + pub banner: Option>, +} + +#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] +#[belongs_to(Community)] +#[table_name = "community_moderator"] +pub struct CommunityModerator { + pub id: i32, + pub community_id: i32, + pub user_id: i32, + pub published: chrono::NaiveDateTime, +} + +#[derive(Insertable, AsChangeset, Clone)] +#[table_name = "community_moderator"] +pub struct CommunityModeratorForm { + pub community_id: i32, + pub user_id: i32, +} + +#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] +#[belongs_to(Community)] +#[table_name = "community_user_ban"] +pub struct CommunityUserBan { + pub id: i32, + pub community_id: i32, + pub user_id: i32, + pub published: chrono::NaiveDateTime, +} + +#[derive(Insertable, AsChangeset, Clone)] +#[table_name = "community_user_ban"] +pub struct CommunityUserBanForm { + pub community_id: i32, + pub user_id: i32, +} + +#[derive(Identifiable, Queryable, Associations, PartialEq, Debug)] +#[belongs_to(Community)] +#[table_name = "community_follower"] +pub struct CommunityFollower { + pub id: i32, + pub community_id: i32, + pub user_id: i32, + pub published: chrono::NaiveDateTime, + pub pending: Option, +} + +#[derive(Insertable, AsChangeset, Clone)] +#[table_name = "community_follower"] +pub struct CommunityFollowerForm { + pub community_id: i32, + pub user_id: i32, + pub pending: bool, +} diff --git a/lemmy_db_schema/src/source/mod.rs b/lemmy_db_schema/src/source/mod.rs index 2a5d7a699..350b39045 100644 --- a/lemmy_db_schema/src/source/mod.rs +++ b/lemmy_db_schema/src/source/mod.rs @@ -1,3 +1,4 @@ pub mod comment; +pub mod community; pub mod post; pub mod user; diff --git a/src/code_migrations.rs b/src/code_migrations.rs index 2afdfabda..cd4176bf7 100644 --- a/src/code_migrations.rs +++ b/src/code_migrations.rs @@ -4,18 +4,14 @@ use diesel::{ *, }; use lemmy_db::{ - source::{ - comment::Comment_, - community::{Community, CommunityForm}, - post::Post_, - private_message::PrivateMessage, - }, + source::{comment::Comment_, post::Post_, private_message::PrivateMessage}, Crud, }; use lemmy_db_schema::{ naive_now, source::{ comment::Comment, + community::{Community, CommunityForm}, post::Post, user::{UserForm, User_}, }, diff --git a/src/routes/feeds.rs b/src/routes/feeds.rs index 8a3ecbae9..fc397fff0 100644 --- a/src/routes/feeds.rs +++ b/src/routes/feeds.rs @@ -4,7 +4,7 @@ use chrono::{DateTime, NaiveDateTime, Utc}; use diesel::PgConnection; use lemmy_api::claims::Claims; use lemmy_db::{ - source::{community::Community, user::User}, + source::{community::Community_, user::User}, views::{ comment_view::{CommentQueryBuilder, CommentView}, post_view::{PostQueryBuilder, PostView}, @@ -14,7 +14,7 @@ use lemmy_db::{ ListingType, SortType, }; -use lemmy_db_schema::source::user::User_; +use lemmy_db_schema::source::{community::Community, user::User_}; use lemmy_structs::blocking; use lemmy_utils::{settings::Settings, utils::markdown_to_html, LemmyError}; use lemmy_websocket::LemmyContext; diff --git a/src/routes/webfinger.rs b/src/routes/webfinger.rs index 57c90c967..2a03f5e2a 100644 --- a/src/routes/webfinger.rs +++ b/src/routes/webfinger.rs @@ -1,7 +1,7 @@ use actix_web::{error::ErrorBadRequest, web::Query, *}; use anyhow::anyhow; -use lemmy_db::source::{community::Community, user::User}; -use lemmy_db_schema::source::user::User_; +use lemmy_db::source::{community::Community_, user::User}; +use lemmy_db_schema::source::{community::Community, user::User_}; use lemmy_structs::{blocking, WebFingerLink, WebFingerResponse}; use lemmy_utils::{ settings::Settings, diff --git a/tests/integration_test.rs b/tests/integration_test.rs index 5a191352a..7c346d865 100644 --- a/tests/integration_test.rs +++ b/tests/integration_test.rs @@ -28,13 +28,11 @@ use lemmy_apub::{ user_inbox::user_inbox, }, }; -use lemmy_db::{ - source::community::{Community, CommunityForm}, - Crud, - ListingType, - SortType, +use lemmy_db::{Crud, ListingType, SortType}; +use lemmy_db_schema::source::{ + community::{Community, CommunityForm}, + user::{UserForm, User_}, }; -use lemmy_db_schema::source::user::{UserForm, User_}; use lemmy_rate_limit::{rate_limiter::RateLimiter, RateLimit}; use lemmy_utils::{apub::generate_actor_keypair, settings::Settings}; use lemmy_websocket::{chat_server::ChatServer, LemmyContext};