diff --git a/.github/workflows/msrv.yml b/.github/workflows/msrv.yml index 5406720..eee1c4d 100644 --- a/.github/workflows/msrv.yml +++ b/.github/workflows/msrv.yml @@ -1,4 +1,4 @@ -name: Rust 1.57 +name: Rust 1.60 on: push: @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: dtolnay/rust-toolchain@1.57 + - uses: dtolnay/rust-toolchain@1.60 - name: Run tests (no default features) run: cargo test --no-default-features - name: Run tests (default features) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae91fc8..fa1f936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ can be used with serde's `deserialize_with` attribute. * The `int!` and `uint!` macros now support arbitrary const expressions, not just literals * `Int::new` and `UInt::new` are now const -* The minimum supported rust version is raised to 1.57. +* The minimum supported rust version is raised to 1.60. # 0.2.2 diff --git a/Cargo.lock b/Cargo.lock index 464408b..184bfbd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,10 +1,12 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "js_int" version = "0.2.2" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -26,19 +28,19 @@ dependencies = [ ] [[package]] -name = "serde" -version = "1.0.210" +name = "serde_core" +version = "1.0.225" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "659356f9a0cb1e529b24c01e43ad2bdf520ec4ceaf83047b83ddcc2251f96383" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.225" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "0ea936adf78b1f766949a4977b91d2f5595825bd6ec079aa9543ad2685fc4516" dependencies = [ "proc-macro2", "quote", @@ -47,9 +49,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.56" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2415488199887523e74fd9a5f7be804dfd42d868ae0eca382e3917094d210e" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 3474301..288f72e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,10 +8,10 @@ readme = "README.md" repository = "https://github.com/ruma/js_int" keywords = ["integer", "no_std"] categories = ["no-std"] -rust-version = "1.57.0" +rust-version = "1.60.0" -[dependencies.serde] -version = "1.0" +[dependencies.serde_core] +version = "1.0.220" optional = true default-features = false @@ -19,3 +19,4 @@ default-features = false default = ["std"] "rust_1.81" = [] std = [] +serde = ["dep:serde_core"] diff --git a/src/int.rs b/src/int.rs index 133f571..5548c90 100644 --- a/src/int.rs +++ b/src/int.rs @@ -10,7 +10,7 @@ use crate::{ UInt, MAX_SAFE_UINT, }; #[cfg(feature = "serde")] -use serde::{ +use serde_core::{ de::{Error as _, Unexpected}, Deserialize, Deserializer, Serialize, Serializer, }; diff --git a/src/uint.rs b/src/uint.rs index 44582ec..e0c31f8 100644 --- a/src/uint.rs +++ b/src/uint.rs @@ -10,7 +10,7 @@ use crate::{ MAX_SAFE_INT, }; #[cfg(feature = "serde")] -use serde::{ +use serde_core::{ de::{Error as _, Unexpected}, Deserialize, Deserializer, Serialize, Serializer, }; diff --git a/tests/int.rs b/tests/int.rs index 6ac2935..68af3ca 100644 --- a/tests/int.rs +++ b/tests/int.rs @@ -3,7 +3,7 @@ use crate::test_serializer::{Number, TestSerializer}; use core::convert::TryFrom; use js_int::{int, Int}; -use serde::{de::IntoDeserializer, Deserialize, Serialize}; +use serde_core::{de::IntoDeserializer, Deserialize, Serialize}; mod test_serializer; @@ -66,13 +66,13 @@ fn deserialize_integral_float() { fn deserialize_via_float<'de, Value: IntoDeserializer<'de>>( value: Value, - ) -> Result { + ) -> Result { Int::deserialize_via_float(value.into_deserializer()) } } fn deserialize_from<'de, Value: IntoDeserializer<'de>>( value: Value, -) -> Result { +) -> Result { Int::deserialize(value.into_deserializer()) } diff --git a/tests/test_serializer.rs b/tests/test_serializer.rs index fa9b144..4c5db91 100644 --- a/tests/test_serializer.rs +++ b/tests/test_serializer.rs @@ -1,5 +1,5 @@ #![cfg(feature = "serde")] -use serde::{ +use serde_core::{ ser::{ SerializeMap, SerializeSeq, SerializeStruct, SerializeStructVariant, SerializeTuple, SerializeTupleStruct, SerializeTupleVariant, @@ -33,7 +33,7 @@ impl From<&'static str> for Error { } } -impl serde::ser::Error for Error { +impl serde_core::ser::Error for Error { fn custom(message: T) -> Self where T: Display, diff --git a/tests/uint.rs b/tests/uint.rs index 467e8a7..425a9ba 100644 --- a/tests/uint.rs +++ b/tests/uint.rs @@ -3,7 +3,7 @@ use crate::test_serializer::{Number, TestSerializer}; use core::convert::TryFrom; use js_int::{uint, UInt}; -use serde::{de::IntoDeserializer, Deserialize, Serialize}; +use serde_core::{de::IntoDeserializer, Deserialize, Serialize}; mod test_serializer; @@ -58,13 +58,13 @@ fn deserialize_integral_float() { fn deserialize_via_float<'de, Value: IntoDeserializer<'de>>( value: Value, - ) -> Result { + ) -> Result { UInt::deserialize_via_float(value.into_deserializer()) } } fn deserialize_from<'de, Value: IntoDeserializer<'de>>( value: Value, -) -> Result { +) -> Result { UInt::deserialize(value.into_deserializer()) }