From 57bd437c3018ab84d02c5d3b4b2fc74b324248ac Mon Sep 17 00:00:00 2001 From: Alexander Koz Date: Tue, 3 Oct 2023 02:11:26 +0400 Subject: [PATCH] use arrayvec instead of heapless --- Cargo.lock | 88 ++++------------------------------------ Cargo.toml | 2 +- api/sys/Cargo.toml | 5 ++- api/sys/src/sys/panic.rs | 4 +- 4 files changed, 13 insertions(+), 86 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ef80a7e5..e8a6bf68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -112,15 +112,6 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" -[[package]] -name = "atomic-polyfill" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28" -dependencies = [ - "critical-section", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -622,12 +613,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - [[package]] name = "crossbeam-channel" version = "0.5.8" @@ -793,9 +778,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" -version = "0.13.5" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" +checksum = "d97ca172ae9dc9f9b779a6e3a65d308f2af74e5b8c921299075bdb4a0370e914" dependencies = [ "base16ct", "crypto-bigint", @@ -839,9 +824,9 @@ checksum = "76a5aa24577083f8190ad401e376b55887c7cd9083ae95d83ceec5d28ea78125" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480" dependencies = [ "errno-dragonfly", "libc", @@ -1684,15 +1669,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -1705,19 +1681,6 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" -[[package]] -name = "heapless" -version = "0.7.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743" -dependencies = [ - "atomic-polyfill", - "hash32", - "rustc_version", - "spin", - "stable_deref_trait", -] - [[package]] name = "heck" version = "0.4.1" @@ -2147,9 +2110,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" @@ -2655,7 +2618,7 @@ dependencies = [ name = "playdate-sys" version = "0.2.4" dependencies = [ - "heapless", + "arrayvec 0.7.4", "playdate-bindgen", "semver", ] @@ -2684,19 +2647,6 @@ dependencies = [ "usb-ids", ] -[[package]] -name = "playdate-ui-crank-indicator" -version = "0.1.0" -dependencies = [ - "playdate-controls", - "playdate-display", - "playdate-graphics", - "playdate-menu", - "playdate-sprite", - "playdate-sys", - "playdate-system", -] - [[package]] name = "plist" version = "1.5.0" @@ -2927,15 +2877,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - [[package]] name = "rustfix" version = "0.6.1" @@ -3180,15 +3121,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - [[package]] name = "spki" version = "0.7.2" @@ -3199,12 +3131,6 @@ dependencies = [ "der", ] -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - [[package]] name = "static_assertions" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index 5dbd0b51..0ce7d727 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ members = [ "cargo", "api/*", "support/*", - "components/*" + # "components/*" ] default-members = ["cargo", "support/tool"] exclude = ["cargo/tests/crates/**/*"] diff --git a/api/sys/Cargo.toml b/api/sys/Cargo.toml index 4c6374c8..94c5b032 100644 --- a/api/sys/Cargo.toml +++ b/api/sys/Cargo.toml @@ -53,7 +53,7 @@ bindings-derive-constparamty = [] # derive `ConstParamTy` [dependencies] -heapless = "0.7" +arrayvec = { version = "0.7.4", default-features = false } [build-dependencies] @@ -98,12 +98,13 @@ cargo-args = [ name = "hello-world" crate-type = ["dylib", "staticlib"] path = "examples/hello-world.rs" +required-features = ["lang-items"] [[example]] name = "handler" crate-type = ["dylib", "staticlib"] path = "examples/handler.rs" -required-features = ["entry-point"] +required-features = ["lang-items", "entry-point"] [package.metadata.playdate] bundle-id = "rs.playdate.sys" diff --git a/api/sys/src/sys/panic.rs b/api/sys/src/sys/panic.rs index 687d0152..98f458dd 100644 --- a/api/sys/src/sys/panic.rs +++ b/api/sys/src/sys/panic.rs @@ -3,13 +3,13 @@ use core::panic::PanicInfo; use core::fmt::Write; -use heapless::String; +use arrayvec::ArrayString; use super::proc::error; #[panic_handler] fn panic(#[allow(unused)] panic_info: &PanicInfo) -> ! { - let mut output = String::<1024>::new(); + let mut output = ArrayString::<1024>::new(); let payload = if let Some(payload) = panic_info.payload().downcast_ref::<&str>() { payload } else {