Skip to content

Commit 1183985

Browse files
authored
Merge pull request #15 from rracariu/update-deps-add-default
Update dependencies and fix some issues uncover by newer lint rules
2 parents f12fd47 + 635d92b commit 1183985

File tree

20 files changed

+269
-192
lines changed

20 files changed

+269
-192
lines changed

Cargo.lock

Lines changed: 218 additions & 131 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "libhaystack"
3-
version = "1.0.10"
3+
version = "1.0.11"
44
description = "Rust implementation of the Haystack 4 data types, defs, filter, units, and encodings"
55
authors = ["J2 Innovations", "Radu Racariu <[email protected]>"]
66
edition = "2021"

src/c_api/value.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use std::os::raw::c_char;
2626
/// ```
2727
#[no_mangle]
2828
pub extern "C" fn haystack_value_init() -> Box<Value> {
29-
Box::new(Value::default())
29+
Box::<Value>::default()
3030
}
3131

3232
/// Destructs and free a [Value](crate::val::Value)

src/haystack/defs/namespace.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,6 @@ impl<'a> Namespace<'a> {
695695
pub fn protos(&'a self, parent: &Dict) -> Vec<Dict> {
696696
parent
697697
.keys()
698-
.into_iter()
699698
.map(|name| self.protos_from_def(parent, name))
700699
.fold(Vec::new(), |mut vec, cur| {
701700
vec.extend(cur);

src/haystack/encoding/zinc/decode/lexer.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ pub(crate) fn parse_number_date_time<R: Read>(
277277
let mut read_count = 0;
278278
let mut cur = scanner.cur;
279279
for _ in 0..4 {
280-
if !(b'0'..=b'9').contains(&cur) || scanner.is_eof {
280+
if !cur.is_ascii_digit() || scanner.is_eof {
281281
break;
282282
}
283283
read_count += 1;

src/haystack/encoding/zinc/decode/scalar/date_time.rs

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -99,21 +99,27 @@ pub(crate) fn parse_datetime<R: Read>(scanner: &mut Scanner<R>) -> Result<DateTi
9999
if tz == "UTC" {
100100
Ok(utc.into())
101101
} else {
102-
match fixed_offset {
103-
Some(fixed_offset) => {
104-
let fixed = fixed_offset
105-
.ymd(date.year(), date.month(), date.day())
106-
.and_hms_nano(time.hour(), time.minute(), time.second(), time.nanosecond());
107-
match make_date_time_with_tz(&fixed, &tz) {
108-
Ok(datetime) => Ok(datetime.into()),
109-
Err(err) => scanner.make_generic_err(&err),
110-
}
111-
}
112-
None => match make_date_time_with_tz(&utc.with_timezone(&Utc.fix()), &tz) {
113-
Ok(datetime) => Ok(datetime.into()),
114-
Err(err) => scanner.make_generic_err(&err),
115-
},
116-
}
102+
fixed_offset
103+
.map_or_else(
104+
|| make_date_time_with_tz(&utc.with_timezone(&Utc.fix()), &tz),
105+
|offset| {
106+
offset
107+
.with_ymd_and_hms(
108+
date.year(),
109+
date.month(),
110+
date.day(),
111+
time.hour(),
112+
time.minute(),
113+
time.second(),
114+
)
115+
.single()
116+
.and_then(|dt| dt.with_nanosecond(time.nanosecond()))
117+
.ok_or_else(|| String::from("Invalid date time."))
118+
.and_then(|fixed| make_date_time_with_tz(&fixed, &tz))
119+
},
120+
)
121+
.map(DateTime::from)
122+
.or_else(|err| scanner.make_generic_err(&err))
117123
}
118124
}
119125

@@ -123,7 +129,7 @@ fn parse_time_zone<R: Read>(
123129
if scanner.cur == b'Z' {
124130
if scanner.safe_peek() == Some(b' ')
125131
&& if let Some(char) = scanner.safe_peek() {
126-
(b'A'..=b'Z').contains(&char)
132+
char.is_ascii_uppercase()
127133
} else {
128134
false
129135
}
@@ -158,12 +164,12 @@ fn parse_time_zone<R: Read>(
158164
let tz_name = parse_time_zone_name(scanner)?;
159165

160166
let fixed_offset = if gmt_sign == "+" {
161-
FixedOffset::east(dur.num_seconds() as i32)
167+
FixedOffset::east_opt(dur.num_seconds() as i32)
162168
} else {
163-
FixedOffset::west(dur.num_seconds() as i32)
169+
FixedOffset::west_opt(dur.num_seconds() as i32)
164170
};
165171

166-
Ok((tz_name, Some(fixed_offset)))
172+
Ok((tz_name, fixed_offset))
167173
}
168174
}
169175

src/haystack/encoding/zinc/decode/scalar/number.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ pub(crate) fn parse_number<R: Read>(scanner: &mut Scanner<R>) -> Result<Number,
1818

1919
if !scanner.is_eof && scanner.is_any_of("eE") {
2020
let next = scanner.peek()?;
21-
if next == b'+' || next == b'-' || (b'0'..=b'9').contains(&next) {
21+
if next == b'+' || next == b'-' || next.is_ascii_digit() {
2222
exponent = Some(parse_exponent(scanner)?);
2323
}
2424
}

src/haystack/encoding/zinc/decode/scanner.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,22 +97,22 @@ impl<'a, R: Read> Scanner<'a, R> {
9797

9898
/// True if cur is a digit char
9999
pub fn is_digit(&self) -> bool {
100-
(b'0'..=b'9').contains(&self.cur)
100+
self.cur.is_ascii_digit()
101101
}
102102

103103
/// True if cur is a hex digit char
104104
pub fn is_hex_digit(&self) -> bool {
105-
self.is_digit() || (b'a'..=b'f').contains(&self.cur) || (b'A'..=b'F').contains(&self.cur)
105+
self.cur.is_ascii_hexdigit()
106106
}
107107

108108
/// True if cur is an upper case char
109109
pub fn is_upper(&self) -> bool {
110-
(b'A'..=b'Z').contains(&self.cur)
110+
self.cur.is_ascii_uppercase()
111111
}
112112

113113
/// True if cur is an lower case char
114114
pub fn is_lower(&self) -> bool {
115-
(b'a'..=b'z').contains(&self.cur)
115+
self.cur.is_ascii_lowercase()
116116
}
117117

118118
/// True if cur is an alpha char

src/haystack/val/boolean.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use crate::haystack::val::Value;
2828
/// assert!(!Bool::try_from(&false_val).unwrap().value)
2929
///```
3030
///
31-
#[derive(PartialEq, PartialOrd, Eq, Ord, Hash, Copy, Clone, Debug)]
31+
#[derive(PartialEq, PartialOrd, Eq, Ord, Hash, Copy, Clone, Debug, Default)]
3232
pub struct Bool {
3333
pub value: bool,
3434
}

src/haystack/val/coord.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use std::{
2525
/// assert_eq!(Coord::try_from(&coord).unwrap().lat, 45.0);
2626
///```
2727
///
28-
#[derive(Copy, Clone, Debug)]
28+
#[derive(Copy, Clone, Debug, Default)]
2929
pub struct Coord {
3030
pub lat: f64,
3131
pub long: f64,

0 commit comments

Comments
 (0)