Skip to content

Commit 7d5d3bc

Browse files
committed
Remove #![feature(deref_patterns)]
1 parent ee09036 commit 7d5d3bc

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

src/cbor.rs

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ impl ValueExt for Value {
317317
Value::Text(_) => (),
318318
Value::Bool(_) => (),
319319
Value::Null => (),
320-
Value::Tag(_, deref!(value)) => value.canonicalize(),
320+
Value::Tag(_, value) => value.canonicalize(),
321321
Value::Array(array) => {
322322
for value in array.iter_mut() {
323323
value.canonicalize();
@@ -345,7 +345,7 @@ impl ValueExt for Value {
345345
Value::Text(_) => true,
346346
Value::Bool(_) => true,
347347
Value::Null => true,
348-
Value::Tag(_, deref!(value)) => value.is_canonical(),
348+
Value::Tag(_, value) => value.is_canonical(),
349349
Value::Array(array) => array.iter().all(Self::is_canonical),
350350
Value::Map(map) => {
351351
for [(a_key, _), (b_key, _)] in map.array_windows() {
@@ -374,14 +374,28 @@ impl ValueExt for Value {
374374
}
375375

376376
fn as_datetime(&self) -> Option<DateTime<FixedOffset>> {
377-
let string = match self {
378-
Value::Tag(tag, deref!(Value::Text(string)))
379-
if *tag == iana::CborTag::DateTime as u64 =>
380-
{
381-
string
382-
}
383-
_ => return None,
377+
// A shorthand that requires deref patterns.
378+
// let string = match self {
379+
// Value::Tag(tag, deref!(Value::Text(string)))
380+
// if *tag == iana::CborTag::DateTime as u64 =>
381+
// {
382+
// string
383+
// }
384+
// _ => return None,
385+
// };
386+
387+
let Value::Tag(tag, inner) = self else {
388+
return None;
389+
};
390+
391+
if *tag != iana::CborTag::DateTime as u64 {
392+
return None;
393+
}
394+
395+
let Value::Text(string) = &**inner else {
396+
return None;
384397
};
398+
385399
let date_time = DateTime::parse_from_rfc3339(string).ok()?;
386400

387401
Some(date_time)

src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#![feature(array_windows)]
2-
#![feature(deref_patterns)]
32
#![feature(fn_traits)]
43
#![feature(try_blocks)]
54
#![feature(unboxed_closures)]

0 commit comments

Comments
 (0)