From 1fc9b65b3fc07b7a181358da2fca5e51fef554b7 Mon Sep 17 00:00:00 2001
From: Alexander Koz
Date: Fri, 12 Jul 2024 21:32:14 +0400
Subject: [PATCH 1/3] update toolchain and deps
---
Cargo.lock | 293 +++++++++++++++++++-------------------
cargo/Cargo.toml | 4 +-
rust-toolchain.toml | 2 +-
support/device/Cargo.toml | 4 +-
support/utils/Cargo.toml | 4 +-
5 files changed, 156 insertions(+), 151 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 2662af05..3b847f64 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -333,7 +333,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -344,13 +344,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[package]]
name = "async-trait"
-version = "0.1.80"
+version = "0.1.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
+checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -483,7 +483,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
- "syn 2.0.68",
+ "syn 2.0.71",
"which 4.4.2",
]
@@ -805,9 +805,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.100"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c891175c3fb232128f48de6590095e59198bbeb8620c310be349bfc3afd12c7b"
+checksum = "907d8581360765417f8f2e0e7d602733bbed60156b4465b7617243689ef9b83d"
dependencies = [
"jobserver",
"libc",
@@ -864,9 +864,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.7"
+version = "4.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f"
+checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
dependencies = [
"clap_builder",
"clap_derive",
@@ -874,9 +874,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.7"
+version = "4.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f"
+checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
dependencies = [
"anstream",
"anstyle",
@@ -889,14 +889,14 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.5"
+version = "4.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6"
+checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
dependencies = [
"heck 0.5.0",
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -929,7 +929,7 @@ dependencies = [
"nom",
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -1197,9 +1197,9 @@ dependencies = [
[[package]]
name = "curl-sys"
-version = "0.4.72+curl-8.6.0"
+version = "0.4.73+curl-8.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea"
+checksum = "450ab250ecf17227c39afb9a2dd9261dc0035cb80f2612472fc0c4aac2dcb84d"
dependencies = [
"cc",
"libc",
@@ -1267,7 +1267,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -1311,7 +1311,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -1357,9 +1357,9 @@ dependencies = [
[[package]]
name = "either"
-version = "1.12.0"
+version = "1.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "eject"
@@ -1707,7 +1707,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -1864,9 +1864,9 @@ dependencies = [
[[package]]
name = "gix-actor"
-version = "0.31.2"
+version = "0.31.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d69c59d392c7e6c94385b6fd6089d6df0fe945f32b4357687989f3aee253cd7f"
+checksum = "d9b8ee65074b2bbb91d9d97c15d172ea75043aefebf9869b5b329149dc76501c"
dependencies = [
"bstr",
"gix-date",
@@ -2195,7 +2195,7 @@ checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -2216,9 +2216,9 @@ dependencies = [
[[package]]
name = "gix-object"
-version = "0.42.2"
+version = "0.42.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df"
+checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386"
dependencies = [
"bstr",
"gix-actor",
@@ -2817,9 +2817,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hyper"
-version = "0.14.29"
+version = "0.14.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33"
+checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9"
dependencies = [
"bytes",
"futures-channel",
@@ -3084,7 +3084,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -3153,7 +3153,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d"
dependencies = [
"cfg-if",
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -3239,12 +3239,6 @@ dependencies = [
"vcpkg",
]
-[[package]]
-name = "line-wrap"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e"
-
[[package]]
name = "linux-raw-sys"
version = "0.3.8"
@@ -3275,9 +3269,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e"
[[package]]
name = "log"
-version = "0.4.21"
+version = "0.4.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
dependencies = [
"value-bag",
]
@@ -3356,7 +3350,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -3426,7 +3420,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -3634,9 +3628,9 @@ dependencies = [
[[package]]
name = "object"
-version = "0.36.0"
+version = "0.36.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434"
+checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce"
dependencies = [
"memchr",
]
@@ -3797,7 +3791,7 @@ dependencies = [
"libc",
"redox_syscall 0.5.2",
"smallvec",
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -3976,7 +3970,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -4057,7 +4051,7 @@ dependencies = [
"proc-macro2",
"quote",
"semver",
- "syn 2.0.68",
+ "syn 2.0.71",
"which 6.0.1",
]
@@ -4087,7 +4081,7 @@ dependencies = [
[[package]]
name = "playdate-build-utils"
-version = "0.3.3"
+version = "0.3.4"
dependencies = [
"dirs",
"log",
@@ -4113,7 +4107,7 @@ dependencies = [
[[package]]
name = "playdate-device"
-version = "0.2.11"
+version = "0.2.12"
dependencies = [
"async-std",
"clap",
@@ -4138,7 +4132,7 @@ dependencies = [
"tracing",
"udev",
"usb-ids",
- "windows 0.57.0",
+ "windows 0.58.0",
]
[[package]]
@@ -4297,13 +4291,12 @@ dependencies = [
[[package]]
name = "plist"
-version = "1.6.1"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9"
+checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016"
dependencies = [
- "base64 0.21.7",
+ "base64 0.22.1",
"indexmap 2.2.6",
- "line-wrap",
"quick-xml",
"serde",
"time",
@@ -4374,7 +4367,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e"
dependencies = [
"proc-macro2",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -4440,7 +4433,7 @@ dependencies = [
"itertools 0.12.1",
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -4454,9 +4447,9 @@ dependencies = [
[[package]]
name = "quick-xml"
-version = "0.31.0"
+version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2"
dependencies = [
"memchr",
]
@@ -4745,7 +4738,7 @@ checksum = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -4796,9 +4789,9 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.203"
+version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
+checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
dependencies = [
"serde_derive",
]
@@ -4826,13 +4819,13 @@ dependencies = [
[[package]]
name = "serde_derive"
-version = "1.0.203"
+version = "1.0.204"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
+checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -4846,9 +4839,9 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.118"
+version = "1.0.120"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4"
+checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
dependencies = [
"itoa",
"ryu",
@@ -4866,9 +4859,9 @@ dependencies = [
[[package]]
name = "serialport"
-version = "4.3.0"
+version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f5a15d0be940df84846264b09b51b10b931fb2f275becb80934e3568a016828"
+checksum = "de7c4f0cce25b9b3518eea99618112f9ee4549f974480c8f43d3c06f03c131a0"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
@@ -5227,9 +5220,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.68"
+version = "2.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9"
+checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
dependencies = [
"proc-macro2",
"quote",
@@ -5304,22 +5297,22 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "1.0.61"
+version = "1.0.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
+checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.61"
+version = "1.0.62"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
+checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -5367,9 +5360,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.6.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c55115c6fbe2d2bef26eb09ad74bde02d8255476fc0c7b515ef09fbb35742d82"
+checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
dependencies = [
"tinyvec_macros",
]
@@ -5418,7 +5411,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -5481,9 +5474,9 @@ dependencies = [
[[package]]
name = "toml_edit"
-version = "0.22.14"
+version = "0.22.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
+checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1"
dependencies = [
"indexmap 2.2.6",
"serde",
@@ -5570,7 +5563,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -5667,9 +5660,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
[[package]]
name = "unescaper"
-version = "0.1.4"
+version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0adf6ad32eb5b3cadff915f7b770faaac8f7ff0476633aa29eb0d9584d889d34"
+checksum = "c878a167baa8afd137494101a688ef8c67125089ff2249284bd2b5f9bfedb815"
dependencies = [
"thiserror",
]
@@ -5741,9 +5734,9 @@ dependencies = [
[[package]]
name = "usb-ids"
-version = "1.2024.3"
+version = "1.2024.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccaea350f6514f904c435feea0ea5a6cecdcb47aaf377745423c1694a01f5785"
+checksum = "8fbafa81873964b6fb260b7d7d4da4dcb59b58aaa9e713dcbacf162862984f63"
dependencies = [
"nom",
"phf 0.11.2",
@@ -5766,9 +5759,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
-version = "1.9.1"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de17fd2f7da591098415cff336e12965a28061ddace43b59cb3c430179c9439"
+checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314"
[[package]]
name = "valuable"
@@ -5846,7 +5839,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
"wasm-bindgen-shared",
]
@@ -5880,7 +5873,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -6010,65 +6003,77 @@ dependencies = [
[[package]]
name = "windows"
-version = "0.57.0"
+version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
+checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
dependencies = [
"windows-core",
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
-version = "0.57.0"
+version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
+checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
dependencies = [
"windows-implement",
"windows-interface",
"windows-result",
- "windows-targets 0.52.5",
+ "windows-strings",
+ "windows-targets 0.52.6",
]
[[package]]
name = "windows-implement"
-version = "0.57.0"
+version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
+checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
name = "windows-interface"
-version = "0.57.0"
+version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
+checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
name = "windows-registry"
-version = "0.1.2"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acc134c90a0318d873ec962b13149e9c862ff0d2669082a709a4810167a3c6ee"
+checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
dependencies = [
"windows-result",
- "windows-targets 0.52.5",
+ "windows-strings",
+ "windows-targets 0.52.6",
]
[[package]]
name = "windows-result"
-version = "0.1.2"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8"
+checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
dependencies = [
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
+]
+
+[[package]]
+name = "windows-strings"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
+dependencies = [
+ "windows-result",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -6086,7 +6091,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
- "windows-targets 0.52.5",
+ "windows-targets 0.52.6",
]
[[package]]
@@ -6106,18 +6111,18 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
- "windows_aarch64_gnullvm 0.52.5",
- "windows_aarch64_msvc 0.52.5",
- "windows_i686_gnu 0.52.5",
+ "windows_aarch64_gnullvm 0.52.6",
+ "windows_aarch64_msvc 0.52.6",
+ "windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
- "windows_i686_msvc 0.52.5",
- "windows_x86_64_gnu 0.52.5",
- "windows_x86_64_gnullvm 0.52.5",
- "windows_x86_64_msvc 0.52.5",
+ "windows_i686_msvc 0.52.6",
+ "windows_x86_64_gnu 0.52.6",
+ "windows_x86_64_gnullvm 0.52.6",
+ "windows_x86_64_msvc 0.52.6",
]
[[package]]
@@ -6128,9 +6133,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
@@ -6146,9 +6151,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
@@ -6164,15 +6169,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
@@ -6188,9 +6193,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
@@ -6206,9 +6211,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -6218,9 +6223,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
@@ -6236,9 +6241,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.52.5"
+version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
@@ -6268,22 +6273,22 @@ dependencies = [
[[package]]
name = "zerocopy"
-version = "0.7.34"
+version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.34"
+version = "0.7.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -6303,7 +6308,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.68",
+ "syn 2.0.71",
]
[[package]]
@@ -6351,27 +6356,27 @@ dependencies = [
[[package]]
name = "zstd"
-version = "0.13.1"
+version = "0.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a"
+checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
-version = "7.1.0"
+version = "7.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a"
+checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa"
dependencies = [
"zstd-sys",
]
[[package]]
name = "zstd-sys"
-version = "2.0.11+zstd.1.5.6"
+version = "2.0.12+zstd.1.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4"
+checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13"
dependencies = [
"cc",
"pkg-config",
diff --git a/cargo/Cargo.toml b/cargo/Cargo.toml
index 7622ad82..1d6c5745 100644
--- a/cargo/Cargo.toml
+++ b/cargo/Cargo.toml
@@ -31,7 +31,7 @@ clap_lex = "0.7"
dirs.workspace = true
fs_extra.workspace = true
-cargo = "0.80"
+cargo = "0.80.0"
cargo-util = "0.2.11"
cargo-platform = "0.1.8"
cargo-util-schemas = "0.3.0"
@@ -89,7 +89,7 @@ features = [
[dev-dependencies]
-target = "2.0.1"
+target = "2.1"
rand = "0.8"
[target.'cfg(unix)'.dev-dependencies]
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 01652420..6c05ab23 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,5 +1,5 @@
[toolchain]
-channel = "nightly-2024-05-28"
+channel = "nightly-2024-06-30"
profile = "minimal"
targets = ["thumbv7em-none-eabihf"]
components = [
diff --git a/support/device/Cargo.toml b/support/device/Cargo.toml
index 365bcbed..4182813c 100644
--- a/support/device/Cargo.toml
+++ b/support/device/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-device"
-version = "0.2.11"
+version = "0.2.12"
readme = "README.md"
description = "Cross-platform interface Playdate device, async & blocking."
keywords = ["playdate", "usb", "serial"]
@@ -80,7 +80,7 @@ version = "0.1"
optional = true
[target.'cfg(target_os = "windows")'.dependencies.windows]
-version = "0.57"
+version = "0.58"
features = [
"Win32_Foundation",
"Win32_Storage",
diff --git a/support/utils/Cargo.toml b/support/utils/Cargo.toml
index 51a7802c..8d94d92c 100644
--- a/support/utils/Cargo.toml
+++ b/support/utils/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-build-utils"
-version = "0.3.3"
+version = "0.3.4"
readme = "README.md"
description = "Utils that help to build program with Rust and Playdate API"
keywords = ["playdate", "utility"]
@@ -17,7 +17,7 @@ dirs.workspace = true
log = { workspace = true, optional = true }
[target.'cfg(target_os = "windows")'.dependencies.windows-registry]
-version = "0.1"
+version = "0.2"
[features]
default = ["log", "cargo-message"]
From 549fc34b2dc4ab706c18aae165a9132932750bda Mon Sep 17 00:00:00 2001
From: Alexander Koz
Date: Fri, 12 Jul 2024 21:38:53 +0400
Subject: [PATCH 2/3] fix panic, update readme
---
Cargo.lock | 2 +-
api/sys/Cargo.toml | 2 +-
api/sys/README.md | 3 +++
api/sys/src/sys/panic.rs | 19 +------------------
4 files changed, 6 insertions(+), 20 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 3b847f64..c90b0025 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4241,7 +4241,7 @@ dependencies = [
[[package]]
name = "playdate-sys"
-version = "0.4.2"
+version = "0.4.3"
dependencies = [
"arrayvec",
"playdate-bindgen",
diff --git a/api/sys/Cargo.toml b/api/sys/Cargo.toml
index 8cb37a95..22c60c60 100644
--- a/api/sys/Cargo.toml
+++ b/api/sys/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-sys"
-version = "0.4.2"
+version = "0.4.3"
build = "src/build.rs"
readme = "README.md"
description = "Low-level Playdate API bindings"
diff --git a/api/sys/README.md b/api/sys/README.md
index 3c2f3126..f1dd194a 100644
--- a/api/sys/README.md
+++ b/api/sys/README.md
@@ -23,6 +23,8 @@ _I've experimented enough with wrapping the entire API with results at every ste
## Prerequisites
+MNRV is [`1.81.0` from 2024-06-29][rust-toolchain.toml]
+
1. Rust __nightly__ toolchain (rustup is optional)
1. [Playdate SDK][sdk]
- Ensure that env var `PLAYDATE_SDK_PATH` points to the SDK root
@@ -31,6 +33,7 @@ _I've experimented enough with wrapping the entire API with results at every ste
[sdk]: https://play.date/dev/#cardSDK
[doc-prerequisites]: https://sdk.play.date/Inside%20Playdate%20with%20C.html#_prerequisites
+[rust-toolchain.toml]: https://github.com/boozook/playdate/blob/main/rust-toolchain.toml#L2
## Usage
diff --git a/api/sys/src/sys/panic.rs b/api/sys/src/sys/panic.rs
index 239e08ac..930c2f34 100644
--- a/api/sys/src/sys/panic.rs
+++ b/api/sys/src/sys/panic.rs
@@ -11,23 +11,6 @@ use super::proc::error;
#[panic_handler]
fn panic(panic_info: &PanicInfo) -> ! {
let mut output = ArrayString::<1024>::new();
- let payload = if let Some(payload) = panic_info.payload().downcast_ref::<&str>() {
- payload
- } else {
- ""
- };
-
- let location = panic_info.location();
- let (module, line) = if let Some(location) = location {
- (location.file(), location.line())
- } else {
- ("", 0)
- };
-
- let _ = if let Some(message) = panic_info.message() {
- write!(output, "PANIC: [{module}@{line}] \"{message}\" {payload}\0")
- } else {
- write!(output, "PANIC: [{module}@{line}] {payload}\0")
- };
+ let _ = write!(output, "{panic_info}\0");
error(output.as_str());
}
From 6529a84799f70884e2fc64667d2bc0ca6e6250d3 Mon Sep 17 00:00:00 2001
From: Alexander Koz
Date: Sat, 13 Jul 2024 11:46:46 +0400
Subject: [PATCH 3/3] fix const_trait usage, CI fixes, fmt, because some
nightly rustfmt fixes
---
.github/workflows/tests.yml | 30 ++------
Cargo.lock | 26 +++----
api/color/Cargo.toml | 2 +-
api/color/src/lib.rs | 50 +++++++++----
api/ctrl/Cargo.toml | 2 +-
api/ctrl/src/buttons.rs | 2 +-
api/ctrl/src/peripherals.rs | 4 +-
api/fs/Cargo.toml | 2 +-
api/fs/src/lib.rs | 1 -
api/fs/src/options.rs | 4 +-
api/gfx/Cargo.toml | 2 +-
api/gfx/src/lib.rs | 1 -
api/lua/Cargo.toml | 2 +-
api/lua/src/lib.rs | 1 -
api/menu/Cargo.toml | 2 +-
api/menu/src/lib.rs | 1 -
api/playdate/Cargo.toml | 2 +-
api/scoreboards/Cargo.toml | 2 +-
api/scoreboards/src/lib.rs | 1 -
api/sound/Cargo.toml | 2 +-
api/sound/src/lib.rs | 1 -
api/sys/README.md | 2 +-
api/sys/src/lib.rs | 1 -
cargo/Cargo.toml | 2 +-
cargo/src/build/mod.rs | 121 ++++++++++++++++----------------
cargo/src/config.rs | 13 ++--
cargo/src/init/mod.rs | 7 +-
cargo/src/package/mod.rs | 2 +-
support/device/Cargo.toml | 2 +-
support/device/src/mount/win.rs | 16 ++---
support/device/src/usb/mod.rs | 9 +--
31 files changed, 157 insertions(+), 158 deletions(-)
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 75d1d6e9..0a4c8e5e 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -475,31 +475,11 @@ jobs:
- name: Check
id: check
- continue-on-error: true
- run: >-
- cargo fmt --all -- --check ||
- (echo "::error::Rust format error." && exit 1)
-
- - name: Format
- id: format
- if: steps.check.outcome == 'failure'
- run: cargo fmt --all
-
- - name: Suggestions
- uses: reviewdog/action-suggester@v1
- with:
- filter_mode: diff_context
- fail_on_error: false
- tool_name: Rustfmt
- cleanup: false
-
- - name: Post Check
- if: steps.check.outcome == 'failure'
- run: exit 1
+ run: cargo fmt --all -- --check
clippy:
- name: Clippy
- if: github.event_name == 'pull_request'
+ name: Clippy + fmt suggestions
+ if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
defaults:
run:
shell: bash
@@ -521,7 +501,6 @@ jobs:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref || github.ref }}
- # fetch-depth: 2
- name: Install Clippy
run: rustup component add clippy
@@ -557,7 +536,6 @@ jobs:
-p=playdate-tool
--bins --examples --all-targets
-- -Aclippy::cargo
- || (echo "::error::Rust format error." && exit 1)
# needed after clippy fix
- name: fmt
@@ -572,6 +550,6 @@ jobs:
with:
filter_mode: diff_context
fail_on_error: false
- tool_name: Clippy
+ tool_name: Clippy & fmt
cleanup: false
diff --git a/Cargo.lock b/Cargo.lock
index c90b0025..9e58f442 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -729,7 +729,7 @@ dependencies = [
[[package]]
name = "cargo-playdate"
-version = "0.5.0"
+version = "0.5.1"
dependencies = [
"anstyle",
"anyhow",
@@ -805,9 +805,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.1.1"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "907d8581360765417f8f2e0e7d602733bbed60156b4465b7617243689ef9b83d"
+checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56"
dependencies = [
"jobserver",
"libc",
@@ -4020,7 +4020,7 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
[[package]]
name = "playdate"
-version = "0.2.1"
+version = "0.2.2"
dependencies = [
"playdate-controls",
"playdate-display",
@@ -4090,14 +4090,14 @@ dependencies = [
[[package]]
name = "playdate-color"
-version = "0.2.4"
+version = "0.2.5"
dependencies = [
"playdate-sys",
]
[[package]]
name = "playdate-controls"
-version = "0.3.5"
+version = "0.3.6"
dependencies = [
"playdate-display",
"playdate-graphics",
@@ -4107,7 +4107,7 @@ dependencies = [
[[package]]
name = "playdate-device"
-version = "0.2.12"
+version = "0.2.13"
dependencies = [
"async-std",
"clap",
@@ -4144,7 +4144,7 @@ dependencies = [
[[package]]
name = "playdate-fs"
-version = "0.2.8"
+version = "0.2.9"
dependencies = [
"playdate-sys",
"playdate-system",
@@ -4152,7 +4152,7 @@ dependencies = [
[[package]]
name = "playdate-graphics"
-version = "0.4.0"
+version = "0.4.1"
dependencies = [
"playdate-color",
"playdate-display",
@@ -4163,7 +4163,7 @@ dependencies = [
[[package]]
name = "playdate-lua"
-version = "0.1.1"
+version = "0.1.2"
dependencies = [
"playdate-sys",
"playdate-system",
@@ -4171,7 +4171,7 @@ dependencies = [
[[package]]
name = "playdate-menu"
-version = "0.2.4"
+version = "0.2.5"
dependencies = [
"playdate-graphics",
"playdate-sys",
@@ -4180,7 +4180,7 @@ dependencies = [
[[package]]
name = "playdate-scoreboards"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"erased_set",
"playdate-sys",
@@ -4201,7 +4201,7 @@ dependencies = [
[[package]]
name = "playdate-sound"
-version = "0.4.1"
+version = "0.4.2"
dependencies = [
"playdate-fs",
"playdate-graphics",
diff --git a/api/color/Cargo.toml b/api/color/Cargo.toml
index 8c255531..22934d7a 100644
--- a/api/color/Cargo.toml
+++ b/api/color/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-color"
-version = "0.2.4"
+version = "0.2.5"
readme = "README.md"
description = "Color extension for Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/color/src/lib.rs b/api/color/src/lib.rs
index 4b910613..c6b62108 100644
--- a/api/color/src/lib.rs
+++ b/api/color/src/lib.rs
@@ -46,10 +46,10 @@ impl<'t> TryFrom for Color<'t>
fn try_from(color: LCDColor) -> Result {
match color {
- 0 => Ok(Self::Solid(LCDSolidColor::Black())),
- 1 => Ok(Self::Solid(LCDSolidColor::White())),
- 2 => Ok(Self::Solid(LCDSolidColor::Clear())),
- 3 => Ok(Self::Solid(LCDSolidColor::XOR())),
+ 0 => Ok(Self::Solid(LCDSolidColor::BLACK)),
+ 1 => Ok(Self::Solid(LCDSolidColor::WHITE)),
+ 2 => Ok(Self::Solid(LCDSolidColor::CLEAR)),
+ 3 => Ok(Self::Solid(::XOR)),
color => {
NonNull::new(color as *mut LCDPattern).ok_or(NullPtrError)
.map(|nn| Self::Pattern(unsafe { nn.as_ref() }))
@@ -63,7 +63,8 @@ impl<'t> From<&'t LCDPattern> for Color<'t> {
}
-#[const_trait]
+// TODO: LCDColorExt should be const_trait
+#[deprecated = "Useless until const_trait is experimental and incomplete. Use LCDColorConst instead."]
pub trait LCDColorExt {
#![allow(non_snake_case)]
fn White() -> Self;
@@ -72,7 +73,8 @@ pub trait LCDColorExt {
fn XOR() -> Self;
}
-impl const LCDColorExt for LCDColor {
+#[allow(deprecated)]
+impl LCDColorExt for LCDColor {
#![allow(non_snake_case)]
fn White() -> Self { LCDSolidColor::kColorWhite as Self }
fn Black() -> Self { LCDSolidColor::kColorBlack as Self }
@@ -80,7 +82,8 @@ impl const LCDColorExt for LCDColor {
fn XOR() -> Self { LCDSolidColor::kColorXOR as Self }
}
-impl const LCDColorExt for LCDSolidColor {
+#[allow(deprecated)]
+impl LCDColorExt for LCDSolidColor {
#![allow(non_snake_case)]
fn White() -> Self { LCDSolidColor::kColorWhite }
fn Black() -> Self { LCDSolidColor::kColorBlack }
@@ -88,14 +91,35 @@ impl const LCDColorExt for LCDSolidColor {
fn XOR() -> Self { LCDSolidColor::kColorXOR }
}
+pub trait LCDColorConst {
+ const WHITE: Self;
+ const BLACK: Self;
+ const CLEAR: Self;
+ const XOR: Self;
+}
+
+impl LCDColorConst for LCDColor {
+ const WHITE: Self = LCDSolidColor::kColorWhite as Self;
+ const BLACK: Self = LCDSolidColor::kColorBlack as Self;
+ const CLEAR: Self = LCDSolidColor::kColorClear as Self;
+ const XOR: Self = LCDSolidColor::kColorXOR as Self;
+}
+
+impl LCDColorConst for LCDSolidColor {
+ const WHITE: Self = LCDSolidColor::kColorWhite as Self;
+ const BLACK: Self = LCDSolidColor::kColorBlack as Self;
+ const CLEAR: Self = LCDSolidColor::kColorClear as Self;
+ const XOR: Self = LCDSolidColor::kColorXOR as Self;
+}
+
-#[const_trait]
+// TODO: LCDColorIs should be const_trait
pub trait LCDColorIs {
fn is_solid(&self) -> bool;
fn is_pattern(&self) -> bool;
}
-impl const LCDColorIs for LCDColor {
+impl LCDColorIs for LCDColor {
fn is_solid(&self) -> bool {
let color = *self as usize;
color >= LCDSolidColor::kColorBlack as _ && color <= LCDSolidColor::kColorXOR as _
@@ -104,12 +128,12 @@ impl const LCDColorIs for LCDColor {
}
-#[const_trait]
+// TODO: IntoLCDColor should be const_trait
pub trait IntoLCDColor {
fn into_color(self) -> LCDColor;
}
-impl const IntoLCDColor for LCDSolidColor {
+impl IntoLCDColor for LCDSolidColor {
fn into_color(self) -> LCDColor { self as LCDColor }
}
@@ -119,13 +143,13 @@ impl<'t> IntoLCDColor for &'t LCDPattern where LCDColor: 't {
}
-#[const_trait]
+// TODO: LCDColorFmt should be const_trait
pub trait LCDColorFmt<'t> {
type Display: 't + core::fmt::Debug + core::fmt::Display;
fn display(&'t self) -> Self::Display;
}
-impl<'t> const LCDColorFmt<'t> for LCDSolidColor {
+impl<'t> LCDColorFmt<'t> for LCDSolidColor {
type Display = LCDColorDisplay<'t, Self>;
fn display(&self) -> LCDColorDisplay<'_, Self> { LCDColorDisplay(self) }
}
diff --git a/api/ctrl/Cargo.toml b/api/ctrl/Cargo.toml
index 16b6cd5c..55f1454d 100644
--- a/api/ctrl/Cargo.toml
+++ b/api/ctrl/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-controls"
-version = "0.3.5"
+version = "0.3.6"
readme = "README.md"
description = "High-level controls API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/ctrl/src/buttons.rs b/api/ctrl/src/buttons.rs
index 9f4bb131..1655bf36 100644
--- a/api/ctrl/src/buttons.rs
+++ b/api/ctrl/src/buttons.rs
@@ -58,7 +58,7 @@ pub trait PDButtonsExt: Sized + BitAnd {
}
-impl const PDButtonsExt for PDButtons {
+impl PDButtonsExt for PDButtons {
#![allow(non_snake_case)]
#[inline(always)]
diff --git a/api/ctrl/src/peripherals.rs b/api/ctrl/src/peripherals.rs
index 14624dfd..38a7c44d 100644
--- a/api/ctrl/src/peripherals.rs
+++ b/api/ctrl/src/peripherals.rs
@@ -86,7 +86,7 @@ impl Peripherals {
}
-#[const_trait]
+// TODO: SystemExt should be const_trait
pub trait SystemExt {
fn peripherals(&self) -> Peripherals;
fn accelerometer(&self) -> Accelerometer;
@@ -94,7 +94,7 @@ pub trait SystemExt {
fn crank(&self) -> Crank;
}
-impl const SystemExt for system::System {
+impl SystemExt for system::System {
fn peripherals(&self) -> Peripherals { Peripherals::new_with(self.inner()) }
fn accelerometer(&self) -> Accelerometer { Accelerometer::new_with(self.inner()) }
fn buttons(&self) -> Buttons { Buttons::new_with(self.inner()) }
diff --git a/api/fs/Cargo.toml b/api/fs/Cargo.toml
index 0678b53f..ab46e049 100644
--- a/api/fs/Cargo.toml
+++ b/api/fs/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-fs"
-version = "0.2.8"
+version = "0.2.9"
readme = "README.md"
description = "High-level file-system API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/fs/src/lib.rs b/api/fs/src/lib.rs
index 8dfdac81..41eb4762 100644
--- a/api/fs/src/lib.rs
+++ b/api/fs/src/lib.rs
@@ -1,5 +1,4 @@
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
#![feature(const_trait_impl)]
#[macro_use]
diff --git a/api/fs/src/options.rs b/api/fs/src/options.rs
index 5626351f..874cf79f 100644
--- a/api/fs/src/options.rs
+++ b/api/fs/src/options.rs
@@ -7,7 +7,7 @@ use crate::error::ApiError;
/// Extension for [`sys::ffi::FileOptions`] make it looks like [`std::fs::OpenOptions`].
-#[const_trait]
+// TODO: FileOptionsExt should be const_trait
pub trait FileOptionsExt: Into {
/// Creates new empty file options.
fn new() -> Self;
@@ -55,7 +55,7 @@ impl OpenOptions for FileOptions {
}
-impl const FileOptionsExt for FileOptions {
+impl FileOptionsExt for FileOptions {
fn new() -> Self { FileOptions(0) }
/// Read access to Game’s package (bundle) directory.
diff --git a/api/gfx/Cargo.toml b/api/gfx/Cargo.toml
index 797d1ca0..b032e9ec 100644
--- a/api/gfx/Cargo.toml
+++ b/api/gfx/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-graphics"
-version = "0.4.0"
+version = "0.4.1"
readme = "README.md"
description = "High-level graphics API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/gfx/src/lib.rs b/api/gfx/src/lib.rs
index 9fe6f18f..b44e1366 100644
--- a/api/gfx/src/lib.rs
+++ b/api/gfx/src/lib.rs
@@ -1,6 +1,5 @@
//! Playdate graphics API
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
extern crate sys;
extern crate alloc;
diff --git a/api/lua/Cargo.toml b/api/lua/Cargo.toml
index 23630f93..979daa22 100644
--- a/api/lua/Cargo.toml
+++ b/api/lua/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-lua"
-version = "0.1.1"
+version = "0.1.2"
readme = "README.md"
description = "High-level Lua API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/lua/src/lib.rs b/api/lua/src/lib.rs
index 79fc4f3f..3a33d7c2 100644
--- a/api/lua/src/lib.rs
+++ b/api/lua/src/lib.rs
@@ -1,5 +1,4 @@
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
// #[macro_use]
extern crate sys;
diff --git a/api/menu/Cargo.toml b/api/menu/Cargo.toml
index 6e513841..59d2e4c5 100644
--- a/api/menu/Cargo.toml
+++ b/api/menu/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-menu"
-version = "0.2.4"
+version = "0.2.5"
readme = "README.md"
description = "High-level system menu API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/menu/src/lib.rs b/api/menu/src/lib.rs
index d79b1137..8789a2e4 100644
--- a/api/menu/src/lib.rs
+++ b/api/menu/src/lib.rs
@@ -1,5 +1,4 @@
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
#[macro_use]
extern crate sys;
diff --git a/api/playdate/Cargo.toml b/api/playdate/Cargo.toml
index c0697f91..af486b37 100644
--- a/api/playdate/Cargo.toml
+++ b/api/playdate/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate"
-version = "0.2.1"
+version = "0.2.2"
readme = "README.md"
description = "High-level Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/scoreboards/Cargo.toml b/api/scoreboards/Cargo.toml
index 4040c8af..936f692a 100644
--- a/api/scoreboards/Cargo.toml
+++ b/api/scoreboards/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-scoreboards"
-version = "0.1.2"
+version = "0.1.3"
readme = "README.md"
description = "High-level Scoreboards API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/scoreboards/src/lib.rs b/api/scoreboards/src/lib.rs
index 1dac4125..82f51ca2 100644
--- a/api/scoreboards/src/lib.rs
+++ b/api/scoreboards/src/lib.rs
@@ -4,7 +4,6 @@
//! [Official documentation](https://help.play.date/catalog-developer/scoreboard-api/#c-api-reference).
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
#[macro_use]
extern crate sys;
diff --git a/api/sound/Cargo.toml b/api/sound/Cargo.toml
index ff7f8439..f9bdf8d6 100644
--- a/api/sound/Cargo.toml
+++ b/api/sound/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-sound"
-version = "0.4.1"
+version = "0.4.2"
readme = "README.md"
description = "High-level sound API built on-top of Playdate API"
keywords = ["playdate", "sdk", "api", "gamedev"]
diff --git a/api/sound/src/lib.rs b/api/sound/src/lib.rs
index bacd5db2..2bad57c6 100644
--- a/api/sound/src/lib.rs
+++ b/api/sound/src/lib.rs
@@ -1,5 +1,4 @@
#![cfg_attr(not(test), no_std)]
-#![feature(error_in_core)]
#![feature(const_trait_impl)]
use core::ffi::c_int;
diff --git a/api/sys/README.md b/api/sys/README.md
index f1dd194a..1ecf5117 100644
--- a/api/sys/README.md
+++ b/api/sys/README.md
@@ -23,7 +23,7 @@ _I've experimented enough with wrapping the entire API with results at every ste
## Prerequisites
-MNRV is [`1.81.0` from 2024-06-29][rust-toolchain.toml]
+MNRV is [`1.81.0` from 2024-06-30][rust-toolchain.toml]
1. Rust __nightly__ toolchain (rustup is optional)
1. [Playdate SDK][sdk]
diff --git a/api/sys/src/lib.rs b/api/sys/src/lib.rs
index 72c29cea..035a721e 100644
--- a/api/sys/src/lib.rs
+++ b/api/sys/src/lib.rs
@@ -11,7 +11,6 @@
#![cfg_attr(feature = "allocator", feature(allocator_api))]
#![cfg_attr(feature = "allocator", feature(alloc_layout_extra))]
// error
-#![feature(error_in_core)]
#![cfg_attr(feature = "try-trait-v2", feature(try_trait_v2))]
// experimental features
#![cfg_attr(feature = "bindings-derive-constparamty",
diff --git a/cargo/Cargo.toml b/cargo/Cargo.toml
index 1d6c5745..4c316562 100644
--- a/cargo/Cargo.toml
+++ b/cargo/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "cargo-playdate"
-version = "0.5.0"
+version = "0.5.1"
readme = "README.md"
description = "Build tool for neat yellow console."
keywords = ["playdate", "build", "cargo", "plugin", "cargo-subcommand"]
diff --git a/cargo/src/build/mod.rs b/cargo/src/build/mod.rs
index a5bf89b1..aa363341 100644
--- a/cargo/src/build/mod.rs
+++ b/cargo/src/build/mod.rs
@@ -210,53 +210,53 @@ pub fn build(cfg: &Config, tree: &MetaDeps) -> CargoResult> {
let mut crate_types_cache = BTreeMap::new();
let removed = roots.extract_if(|root| {
- let tk = root.node().target().kind();
- let ck = root.node().unit().platform;
-
- log::trace!(" check {} {}", tk.description(), match ck {
- CompileKind::Host => "host",
- CompileKind::Target(ref kind) => kind.short_name(),
- });
-
- if reserved_roots.contains(root) {
- log::trace!(" excluding, reserved root");
- return true;
- }
-
- {
- use cargo::core::TargetKind as Tk;
- if executable && !matches!(tk, Tk::Bin | Tk::ExampleBin) {
- log::trace!(" excluding, is not executable");
- return true;
- }
- }
-
- let target = targets_cache.entry(*root)
- .or_insert_with(|| target_for_root(root));
-
- let ct = determine_crate_types(cfg, art, target, tk.clone(), ck).collect::>();
-
- let is_good = art.filenames.len() == ct.len() &&
- !ct.iter().any(|(_, ct)| ct.is_none());
- if is_good {
- // save resolved crate-types:
- let ct = ct.into_iter()
- .filter_map(|(p, ct)| ct.map(|ct| (p.to_owned(), ct)));
- crate_types_cache.extend(ct);
- }
-
- need_remove_roots && !is_good
- })
- .inspect(|r| {
- let p = r.package_id().name();
- let t = r.node().target().name.as_str();
- log::trace!(" excluded: {p}::{t} {:?}", match r.node().unit().platform
- {
- CompileKind::Host => "host",
- CompileKind::Target(ref kind) => kind.short_name(),
- })
- })
- .count();
+ let tk = root.node().target().kind();
+ let ck = root.node().unit().platform;
+
+ log::trace!(" check {} {}", tk.description(), match ck {
+ CompileKind::Host => "host",
+ CompileKind::Target(ref kind) => kind.short_name(),
+ });
+
+ if reserved_roots.contains(root) {
+ log::trace!(" excluding, reserved root");
+ return true;
+ }
+
+ {
+ use cargo::core::TargetKind as Tk;
+ if executable && !matches!(tk, Tk::Bin | Tk::ExampleBin) {
+ log::trace!(" excluding, is not executable");
+ return true;
+ }
+ }
+
+ let target = targets_cache.entry(*root)
+ .or_insert_with(|| target_for_root(root));
+
+ let ct =
+ determine_crate_types(cfg, art, target, tk.clone(), ck).collect::>();
+
+ let is_good =
+ art.filenames.len() == ct.len() && !ct.iter().any(|(_, ct)| ct.is_none());
+ if is_good {
+ // save resolved crate-types:
+ let ct = ct.into_iter()
+ .filter_map(|(p, ct)| ct.map(|ct| (p.to_owned(), ct)));
+ crate_types_cache.extend(ct);
+ }
+
+ need_remove_roots && !is_good
+ })
+ .inspect(|r| {
+ let p = r.package_id().name();
+ let t = r.node().target().name.as_str();
+ log::trace!(" excluded: {p}::{t} {:?}", match r.node().unit().platform {
+ CompileKind::Host => "host",
+ CompileKind::Target(ref kind) => kind.short_name(),
+ })
+ })
+ .count();
if removed > 0 {
log::trace!(" excluded: {removed}, now roots: {}", roots.len());
@@ -337,7 +337,7 @@ pub fn build(cfg: &Config, tree: &MetaDeps) -> CargoResult> {
let ck_exact = ck_name.iter().copied().find(|ck| {
comps.iter()
- .all(|(_num, first)| matches!(first, Some(s) if *s == *ck))
+ .all(|(_num, first)| matches!(first, Some(s) if *s == *ck))
});
let removed = if let Some(ck) = ck_exact {
@@ -594,18 +594,19 @@ fn map_artifacts<'cargo, 'cfg, 't>(tree: &'t MetaDeps<'cfg>,
artifacts.filter(|art| matches!(art.target.kind, TK::Lib(_) | TK::Bin | TK::Example))
.filter_map(move |art| {
- let findings = tree.roots()
- .iter()
- .filter(|r| {
- let unit = r.node().unit();
- unit.package_id == art.package_id &&
- unit.target.name.as_str() == art.target.name.as_str() &&
- unit.target.kind() == art.target.kind() &&
- unit.target.crate_types == art.target.crate_types &&
- Some(unit.target.src_path.as_str().into()) == art.target.src_path
- })
- .inspect(|r| log::trace!("root for artifact found: {:?} {r}", art.target.crate_types))
- .collect::>();
+ let findings =
+ tree.roots()
+ .iter()
+ .filter(|r| {
+ let unit = r.node().unit();
+ unit.package_id == art.package_id &&
+ unit.target.name.as_str() == art.target.name.as_str() &&
+ unit.target.kind() == art.target.kind() &&
+ unit.target.crate_types == art.target.crate_types &&
+ Some(unit.target.src_path.as_str().into()) == art.target.src_path
+ })
+ .inspect(|r| log::trace!("root for artifact found: {:?} {r}", art.target.crate_types))
+ .collect::>();
(!findings.is_empty()).then_some((art, findings))
})
.filter(|(_, roots)| !roots.is_empty())
diff --git a/cargo/src/config.rs b/cargo/src/config.rs
index 8345693e..adccf8d4 100644
--- a/cargo/src/config.rs
+++ b/cargo/src/config.rs
@@ -154,12 +154,13 @@ impl<'cfg> Config<'cfg> {
pub fn gcc(&self) -> CargoResult<&ArmToolchain> {
self.gcc.try_get_or_create(|| {
- let res = (!self.no_gcc).then(|| {
- self.gcc_path.as_ref().map_or_else(ArmToolchain::try_new, |p| {
- Gcc::try_new_exact_path(p).and_then(ArmToolchain::try_new_with)
- })
- })
- .ok_or_else(|| anyhow::anyhow!("Attempt to get arm-gcc but 'no-gcc' is set"))??;
+ let res =
+ (!self.no_gcc).then(|| {
+ self.gcc_path.as_ref().map_or_else(ArmToolchain::try_new, |p| {
+ Gcc::try_new_exact_path(p).and_then(ArmToolchain::try_new_with)
+ })
+ })
+ .ok_or_else(|| anyhow::anyhow!("Attempt to get arm-gcc but 'no-gcc' is set"))??;
Ok(res)
})
}
diff --git a/cargo/src/init/mod.rs b/cargo/src/init/mod.rs
index 485247ae..f367df4f 100644
--- a/cargo/src/init/mod.rs
+++ b/cargo/src/init/mod.rs
@@ -337,9 +337,10 @@ fn cargo_config>(config: &Config, path: P) -> CargoResult<()> {
// default
if !config.create_full_config {
// target[].rustflags:
- let rustflags: Vec = Rustflags::rustflags_bin_playdate().iter()
- .map(|s| toml::Value::String(s.to_string()))
- .collect();
+ let rustflags: Vec =
+ Rustflags::rustflags_bin_playdate().iter()
+ .map(|s| toml::Value::String(s.to_string()))
+ .collect();
let mut target_table = toml::Table::new();
target_table.insert("rustflags".into(), rustflags.into());
diff --git a/cargo/src/package/mod.rs b/cargo/src/package/mod.rs
index f2e71e91..7f49c660 100644
--- a/cargo/src/package/mod.rs
+++ b/cargo/src/package/mod.rs
@@ -87,7 +87,7 @@ pub fn build_all(config: &'_ Config,
unit.platform == products[0].ck &&
unit.target.crate_types.contains(&products[0].src_ct) &&
unit.target.name == products[0].name)
- .then_some((r, Some(arts)))
+ .then_some((r, Some(arts)))
})
.or_else(|| {
assets.tree
diff --git a/support/device/Cargo.toml b/support/device/Cargo.toml
index 4182813c..8b2d2d25 100644
--- a/support/device/Cargo.toml
+++ b/support/device/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "playdate-device"
-version = "0.2.12"
+version = "0.2.13"
readme = "README.md"
description = "Cross-platform interface Playdate device, async & blocking."
keywords = ["playdate", "usb", "serial"]
diff --git a/support/device/src/mount/win.rs b/support/device/src/mount/win.rs
index 03006674..aa226007 100644
--- a/support/device/src/mount/win.rs
+++ b/support/device/src/mount/win.rs
@@ -56,8 +56,8 @@ pub mod unmount {
fn unmount_blocking(&self) -> Result<(), Error> {
#[cfg(feature = "eject")]
let res = unmount_eject(&self).or_else(|err| {
- winapi::unmount(self.letter).map_err(|err2| Error::chain(err2, [err]))
- });
+ winapi::unmount(self.letter).map_err(|err2| Error::chain(err2, [err]))
+ });
#[cfg(not(feature = "eject"))]
let res = winapi::unmount(self.letter);
@@ -92,12 +92,12 @@ pub mod unmount {
#[cfg(feature = "eject")]
let fut = lazy(|_| unmount_eject(&self)).or_else(|err| {
- lazy(|_| {
- winapi::unmount(self.letter).map_err(|err2| {
- Error::chain(err2, [err])
- })
- })
- });
+ lazy(|_| {
+ winapi::unmount(self.letter).map_err(|err2| {
+ Error::chain(err2, [err])
+ })
+ })
+ });
#[cfg(not(feature = "eject"))]
let fut = lazy(|_| winapi::unmount(self.letter));
diff --git a/support/device/src/usb/mod.rs b/support/device/src/usb/mod.rs
index 630a6303..c2aaf424 100644
--- a/support/device/src/usb/mod.rs
+++ b/support/device/src/usb/mod.rs
@@ -294,10 +294,11 @@ impl Interface {
// TODO: attach data to the pool
let written = comp.data.actual_length();
let data = comp.data.reuse();
- let s = std::str::from_utf8(&data).map(Cow::Borrowed)
- .unwrap_or_else(|_| {
- Cow::Owned(hex::encode_upper(&data))
- });
+ let s =
+ std::str::from_utf8(&data).map(Cow::Borrowed)
+ .unwrap_or_else(|_| {
+ Cow::Owned(hex::encode_upper(&data))
+ });
trace!("sent, resp: ({written}) '{s}'");
comp.status.map(|_| written)
})