Create an Applin™ client and control it from Rust code. Great for tests.
Metric output format: x/y
x = unsafe code used by the build
y = total unsafe code found in the crate
Symbols:
🔒 = No `unsafe` usage found, declares #![forbid(unsafe_code)]
❓ = No `unsafe` usage found, missing #![forbid(unsafe_code)]
☢️ = `unsafe` usage found
Functions Expressions Impls Traits Methods Dependency
0/0 0/0 0/0 0/0 0/0 🔒 applin_headless 0.4.0
0/0 0/0 0/0 0/0 0/0 🔒 ├── applin 0.3.0
0/0 7/20 0/0 0/0 0/0 ☢️ │ ├── nanorand 0.7.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ ├── serde 1.0.219
0/0 0/0 0/0 0/0 0/0 ❓ │ │ └── serde_derive 1.0.219
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ ├── proc-macro2 1.0.95
0/0 4/4 0/0 0/0 0/0 ☢️ │ │ │ └── unicode-ident 1.0.18
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── quote 1.0.40
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ └── proc-macro2 1.0.95
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ └── syn 2.0.104
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── quote 1.0.40
0/0 4/4 0/0 0/0 0/0 ☢️ │ │ └── unicode-ident 1.0.18
0/0 72/75 0/0 0/0 0/0 ☢️ │ └── serde_json 1.0.140
0/0 78/83 0/0 0/0 0/0 ☢️ │ ├── indexmap 2.10.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── equivalent 1.0.2
1/1 1249/1520 17/22 1/1 72/85 ☢️ │ │ ├── hashbrown 0.15.4
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ ├── equivalent 1.0.2
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ └── serde 1.0.219
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ └── serde 1.0.219
0/0 8/8 0/0 0/0 0/0 ☢️ │ ├── itoa 1.0.15
34/41 1700/2421 2/2 0/0 82/147 ☢️ │ ├── memchr 2.7.5
2/2 18/18 1/1 0/0 0/0 ☢️ │ │ └── log 0.4.27
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ └── serde 1.0.219
7/9 572/702 0/0 0/0 2/2 ☢️ │ ├── ryu 1.0.20
0/0 5/5 0/0 0/0 0/0 ☢️ │ └── serde 1.0.219
0/0 0/0 0/0 0/0 0/0 ❓ ├── cookie_store 0.21.1
0/0 0/0 0/0 0/0 0/0 ❓ │ ├── cookie 0.18.1
0/0 0/0 0/0 0/0 0/0 🔒 │ │ ├── base64 0.22.1
0/0 8/8 0/0 0/0 0/0 ☢️ │ │ ├── percent-encoding 2.3.1
2/5 315/342 0/0 0/0 6/6 ☢️ │ │ └── time 0.3.41
1/1 4/4 0/0 0/0 1/1 ☢️ │ │ ├── deranged 0.4.0
2/2 29/29 0/0 0/0 0/0 ☢️ │ │ │ ├── powerfmt 0.2.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ └── serde 1.0.219
0/0 8/8 0/0 0/0 0/0 ☢️ │ │ ├── itoa 1.0.15
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── num-conv 0.1.0
2/2 29/29 0/0 0/0 0/0 ☢️ │ │ ├── powerfmt 0.2.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ ├── serde 1.0.219
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── time-core 0.1.4
0/0 0/0 0/0 0/0 0/0 ❓ │ │ └── time-macros 0.2.22
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── num-conv 0.1.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ └── time-core 0.1.4
0/0 0/0 0/0 0/0 0/0 ❓ │ ├── document-features 0.2.11
0/0 0/0 0/0 0/0 0/0 ❓ │ │ └── litrs 0.4.1
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ └── proc-macro2 1.0.95
0/0 30/30 0/0 0/0 0/0 ☢️ │ ├── idna 1.0.3
0/0 0/0 0/0 0/0 0/0 ❓ │ │ ├── idna_adapter 1.2.1
0/0 23/23 0/0 0/0 0/0 ☢️ │ │ │ ├── icu_normalizer 2.0.0
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ ├── displaydoc 0.2.5
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ ├── quote 1.0.40
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ │ │ │ └── syn 2.0.104
0/0 1/1 0/0 0/0 1/1 ☢️ │ │ │ │ ├── icu_collections 2.0.0
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 6/24 2/2 0/0 2/2 ☢️ │ │ │ │ │ ├── potential_utf 0.1.2
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── serde 1.0.219
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── writeable 0.6.1
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ │ └── zerovec 0.11.2
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── serde 1.0.219
0/0 96/101 24/25 4/4 12/13 ☢️ │ │ │ │ │ │ ├── yoke 0.8.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ │ ├── serde 1.0.219
0/0 0/0 18/18 2/2 0/0 ☢️ │ │ │ │ │ │ │ ├── stable_deref_trait 1.2.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── yoke-derive 0.8.0
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ │ │ │ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ │ ├── quote 1.0.40
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ │ │ │ │ │ │ ├── syn 2.0.104
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ │ └── synstructure 0.13.2
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ │ │ │ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ │ ├── quote 1.0.40
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ │ │ │ │ │ │ └── syn 2.0.104
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ └── zerofrom 0.1.6
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ └── zerofrom-derive 0.1.6
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ │ │ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── quote 1.0.40
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ │ │ │ │ │ ├── syn 2.0.104
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ └── synstructure 0.13.2
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── zerofrom 0.1.6
0/0 0/0 0/1 0/0 0/0 ❓ │ │ │ │ │ │ └── zerovec-derive 0.11.1
0/0 14/14 0/0 0/0 3/3 ☢️ │ │ │ │ │ │ ├── proc-macro2 1.0.95
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── quote 1.0.40
0/0 88/88 3/3 0/0 2/2 ☢️ │ │ │ │ │ │ └── syn 2.0.104
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ ├── serde 1.0.219
0/0 96/101 24/25 4/4 12/13 ☢️ │ │ │ │ │ ├── yoke 0.8.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ ├── zerofrom 0.1.6
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ └── zerovec 0.11.2
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ ├── icu_normalizer_data 2.0.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ ├── icu_properties 2.0.1
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 1/1 0/0 0/0 1/1 ☢️ │ │ │ │ │ ├── icu_collections 2.0.0
0/0 11/11 0/0 0/0 0/0 ☢️ │ │ │ │ │ ├── icu_locale_core 2.0.0
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── litemap 0.8.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ │ ├── serde 1.0.219
0/0 96/101 24/25 4/4 12/13 ☢️ │ │ │ │ │ │ │ └── yoke 0.8.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── serde 1.0.219
0/0 36/37 2/2 0/0 2/2 ☢️ │ │ │ │ │ │ ├── tinystr 0.8.1
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ │ ├── serde 1.0.219
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ │ │ └── zerovec 0.11.2
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── writeable 0.6.1
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ │ └── zerovec 0.11.2
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ ├── icu_properties_data 2.0.1
0/0 31/31 3/3 0/0 2/2 ☢️ │ │ │ │ │ ├── icu_provider 2.0.0
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 11/11 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── icu_locale_core 2.0.0
2/2 18/18 1/1 0/0 0/0 ☢️ │ │ │ │ │ │ ├── log 0.4.27
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── serde 1.0.219
0/0 72/75 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── serde_json 1.0.140
0/0 0/0 18/18 2/2 0/0 ☢️ │ │ │ │ │ │ ├── stable_deref_trait 1.2.0
0/0 36/37 2/2 0/0 2/2 ☢️ │ │ │ │ │ │ ├── tinystr 0.8.1
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── writeable 0.6.1
0/0 96/101 24/25 4/4 12/13 ☢️ │ │ │ │ │ │ ├── yoke 0.8.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ ├── zerofrom 0.1.6
0/0 9/12 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ ├── zerotrie 0.2.2
0/12 0/12 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── displaydoc 0.2.5
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── litemap 0.8.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ │ │ ├── serde 1.0.219
0/0 96/101 24/25 4/4 12/13 ☢️ │ │ │ │ │ │ │ ├── yoke 0.8.0
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ │ │ │ │ ├── zerofrom 0.1.6
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ │ │ └── zerovec 0.11.2
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ │ └── zerovec 0.11.2
0/0 6/24 2/2 0/0 2/2 ☢️ │ │ │ │ │ ├── potential_utf 0.1.2
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ ├── serde 1.0.219
0/0 9/12 0/0 0/0 0/0 ☢️ │ │ │ │ │ ├── zerotrie 0.2.2
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ │ └── zerovec 0.11.2
0/0 31/31 3/3 0/0 2/2 ☢️ │ │ │ │ ├── icu_provider 2.0.0
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ ├── serde 1.0.219
1/1 554/556 7/7 1/1 14/14 ☢️ │ │ │ │ ├── smallvec 1.15.1
0/0 5/5 0/0 0/0 0/0 ☢️ │ │ │ │ │ └── serde 1.0.219
0/0 10/10 0/0 0/0 0/0 ☢️ │ │ │ │ ├── utf8_iter 1.0.4
1/1 641/657 58/58 5/5 49/49 ☢️ │ │ │ │ └── zerovec 0.11.2
0/0 0/0 0/0 0/0 0/0 ❓ │ │ │ └── icu_properties 2.0.1
1/1 554/556 7/7 1/1 14/14 ☢️ │ │ ├── smallvec 1.15.1
0/0 10/10 0/0 0/0 0/0 ☢️ │ │ └── utf8_iter 1.0.4
0/0 78/83 0/0 0/0 0/0 ☢️ │ ├── indexmap 2.10.0
2/2 18/18 1/1 0/0 0/0 ☢️ │ ├── log 0.4.27
0/0 5/5 0/0 0/0 0/0 ☢️ │ ├── serde 1.0.219
0/0 0/0 0/0 0/0 0/0 ❓ │ ├── serde_derive 1.0.219
0/0 72/75 0/0 0/0 0/0 ☢️ │ ├── serde_json 1.0.140
2/5 315/342 0/0 0/0 6/6 ☢️ │ ├── time 0.3.41
0/0 0/0 0/0 0/0 0/0 ❓ │ └── url 2.5.4
0/0 2/2 0/0 0/0 0/0 ☢️ │ ├── form_urlencoded 1.2.1
0/0 8/8 0/0 0/0 0/0 ☢️ │ │ └── percent-encoding 2.3.1
0/0 30/30 0/0 0/0 0/0 ☢️ │ ├── idna 1.0.3
0/0 8/8 0/0 0/0 0/0 ☢️ │ ├── percent-encoding 2.3.1
0/0 5/5 0/0 0/0 0/0 ☢️ │ └── serde 1.0.219
0/0 0/0 0/0 0/0 0/0 🔒 ├── ureq 2.12.1
0/0 0/0 0/0 0/0 0/0 🔒 │ ├── base64 0.22.1
0/0 0/0 0/0 0/0 0/0 ❓ │ ├── cookie 0.18.1
0/0 0/0 0/0 0/0 0/0 ❓ │ ├── cookie_store 0.21.1
2/2 18/18 1/1 0/0 0/0 ☢️ │ ├── log 0.4.27
0/0 81/124 5/9 0/0 3/5 ☢️ │ ├── once_cell 1.21.3
0/0 5/5 0/0 0/0 0/0 ☢️ │ ├── serde 1.0.219
0/0 72/75 0/0 0/0 0/0 ☢️ │ ├── serde_json 1.0.140
0/0 0/0 0/0 0/0 0/0 ❓ │ └── url 2.5.4
0/0 0/0 0/0 0/0 0/0 ❓ └── url 2.5.4
51/75 5707/6977 142/153 13/13 253/334
- v0.4.0 2025-07-06 - Use
applinv0.3. - v0.3.1 - Lint.
- v0.3.0 2024-11-17
- Change signature of [
ApplinClient::is_checked] to take&Widget. - Rename
WidgetExtension::varsto [WidgetExtension::var_names_and_initials].
- Change signature of [
- v0.2.0 2024-11-13
- Add
cookie_file_patharg toApplinClient::new. - Add
log_pages.
- Add
- v0.1.1 2024-11-03 - Add
is_checked. - v0.1.0 - Impersonates applin-ios 0.38.0.