From afa9d5ec73e6a7d6bfee49f186a0bbdc7e1ba283 Mon Sep 17 00:00:00 2001 From: Alexey Arbuzov Date: Tue, 24 Sep 2024 12:26:48 +0300 Subject: [PATCH] Remove failure dep, add MSVR 1.81, edition 2021 and bump version --- Cargo.toml | 9 ++---- README.md | 1 - decode-tlv/Cargo.lock | 69 ++---------------------------------------- decode-tlv/Cargo.toml | 2 +- decode-tlv/src/main.rs | 3 -- src/lib.rs | 44 +++++++++++++++------------ src/tlv.rs | 2 +- 7 files changed, 33 insertions(+), 97 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index e3eff1cb..f36d8dbd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,13 +8,10 @@ license = "MIT/Apache-2.0" name = "tlv_parser" readme = "README.md" repository = "https://github.com/lexxvir/tlv-parser" -version = "0.9.0" +version = "0.10.0" exclude = ["benches/*", "tests/*", "fuzz/*", "decode-tlv/*", "amex-cda-in.txt", ".*"] - -[dependencies.failure] -version = "0.1.1" -default-features = false -features = ["derive"] +rust-version = "1.81" +edition = "2021" [dev-dependencies] quickcheck = "^0" diff --git a/README.md b/README.md index 068f6db9..08f9cc0a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ # tlv-parser -[![Build Status](https://travis-ci.org/lexxvir/tlv-parser.svg?branch=master)](https://travis-ci.org/lexxvir/tlv-parser) [![Latest Version](https://img.shields.io/crates/v/tlv_parser.svg)](https://crates.io/crates/tlv_parser) [![Docs](https://docs.rs/tlv_parser/badge.svg)](https://docs.rs/tlv_parser) diff --git a/decode-tlv/Cargo.lock b/decode-tlv/Cargo.lock index 138225b7..cc52a700 100644 --- a/decode-tlv/Cargo.lock +++ b/decode-tlv/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "decode-tlv" version = "0.1.0" @@ -8,77 +10,12 @@ dependencies = [ "tlv_parser", ] -[[package]] -name = "failure" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934799b6c1de475a012a02dab0ace1ace43789ee4b99bcfbf1a2e3e8ced5de82" -dependencies = [ - "failure_derive", -] - -[[package]] -name = "failure_derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cdda555bb90c9bb67a3b670a0f42de8e73f5981524123ad8578aafec8ddb8b" -dependencies = [ - "quote", - "syn", - "synstructure", -] - [[package]] name = "hex" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "459d3cf58137bb02ad4adeef5036377ff59f066dbb82517b7192e3a5462a2abc" -[[package]] -name = "quote" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" - -[[package]] -name = "syn" -version = "0.11.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" -dependencies = [ - "quote", - "synom", - "unicode-xid", -] - -[[package]] -name = "synom" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "synstructure" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a761d12e6d8dcb4dcf952a7a89b475e3a9d69e4a69307e01a470977642914bd" -dependencies = [ - "quote", - "syn", -] - [[package]] name = "tlv_parser" -version = "0.7.0" -dependencies = [ - "failure", -] - -[[package]] -name = "unicode-xid" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +version = "0.10.0" diff --git a/decode-tlv/Cargo.toml b/decode-tlv/Cargo.toml index f95ef2a8..f1b67985 100644 --- a/decode-tlv/Cargo.toml +++ b/decode-tlv/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "decode-tlv" version = "0.1.0" -authors = ["aarbuzov"] +edition = "2021" [dependencies] hex = "0.3.1" diff --git a/decode-tlv/src/main.rs b/decode-tlv/src/main.rs index 23cba71c..7a65410a 100644 --- a/decode-tlv/src/main.rs +++ b/decode-tlv/src/main.rs @@ -1,6 +1,3 @@ -extern crate hex; -extern crate tlv_parser; - use std::io::Read; use tlv_parser::tlv::{Tlv, Value}; diff --git a/src/lib.rs b/src/lib.rs index 7410e2a2..f32e12ea 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -28,36 +28,42 @@ //! assert_eq!(constructed_tlv.to_vec(), vec![0x21, 0x02, 0x01, 0x00]); //! ``` -extern crate core as std; -#[macro_use] extern crate alloc; -#[macro_use] -extern crate failure; pub mod tlv; type Result = core::result::Result; -#[derive(Debug, Fail)] +#[derive(Debug)] pub enum TlvError { - #[fail(display = "Too short input vector")] TruncatedTlv, - - #[fail(display = "Invalid length value")] InvalidLength, - - #[fail(display = "Invalid tag number")] InvalidTagNumber, - - #[fail(display = "Too short body: expected {}, found {}", expected, found)] TooShortBody { expected: usize, found: usize }, - - #[fail( - display = "Tag number defines primitive TLV, but value is not Value::Val: {}", - tag_number - )] ValExpected { tag_number: usize }, - - #[fail(display = "Provided 'tag-path' have error")] TagPathError, } + +use core::fmt; + +impl fmt::Display for TlvError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + use TlvError::*; + + match self { + TruncatedTlv => write!(f, "Too short input vector"), + InvalidLength => writeln!(f, "Invalid length value"), + InvalidTagNumber => write!(f, "Invalid tag number"), + TooShortBody { expected, found } => { + write!(f, "Too short body: expected {expected}, found {found}") + } + ValExpected { tag_number } => write!( + f, + "Tag number defines primitive TLV, but value is not Value::Val: {tag_number}" + ), + TagPathError => write!(f, "Provided 'tag-path' has error"), + } + } +} + +impl core::error::Error for TlvError {} diff --git a/src/tlv.rs b/src/tlv.rs index 0c0a4d73..c66ac395 100644 --- a/src/tlv.rs +++ b/src/tlv.rs @@ -1,5 +1,5 @@ use alloc::string::String; -use alloc::vec::Vec; +use alloc::{vec, vec::Vec}; use core::fmt::{self, Debug}; use super::{Result, TlvError};