difftreelog
style fix warnings with nightly clippy
in: master
9 files changed
crates/jrsonnet-cli/src/trace.rsdiffbeforeafterboth1use std::str::FromStr;23use clap::Parser;4use jrsonnet_evaluator::{5 error::Result,6 trace::{CompactFormat, ExplainingFormat, PathResolver},7 State,8};910use crate::ConfigureState;1112#[derive(PartialEq)]13pub enum TraceFormatName {14 Compact,15 Explaining,16}1718impl FromStr for TraceFormatName {19 type Err = &'static str;20 fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {21 Ok(match s {22 "compact" => TraceFormatName::Compact,23 "explaining" => TraceFormatName::Explaining,24 _ => return Err("no such format"),25 })26 }27}2829#[derive(Parser)]30#[clap(next_help_heading = "STACK TRACE VISUAL")]31pub struct TraceOpts {32 /// Format of stack traces' display in console.33 /// `compact` format only shows `filename:line:column`s34 /// while `explaining` displays source code with attached trace annotations35 /// thus being more verbose.36 #[clap(long, possible_values = &["compact", "explaining"])]37 trace_format: Option<TraceFormatName>,38 /// Amount of stack trace elements to be displayed.39 /// If set to `0` then full stack trace will be displayed.40 #[clap(long, short = 't', default_value = "20")]41 max_trace: usize,42}43impl ConfigureState for TraceOpts {44 fn configure(&self, s: &State) -> Result<()> {45 let resolver = if let Ok(dir) = std::env::current_dir() {46 PathResolver::Relative(dir)47 } else {48 PathResolver::Absolute49 };50 match self51 .trace_format52 .as_ref()53 .unwrap_or(&TraceFormatName::Compact)54 {55 TraceFormatName::Compact => s.set_trace_format(Box::new(CompactFormat {56 resolver,57 padding: 4,58 })),59 TraceFormatName::Explaining => {60 s.set_trace_format(Box::new(ExplainingFormat { resolver }))61 }62 }63 s.set_max_trace(self.max_trace);64 Ok(())65 }66}crates/jrsonnet-evaluator/src/integrations/serde.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/integrations/serde.rs
+++ b/crates/jrsonnet-evaluator/src/integrations/serde.rs
@@ -13,20 +13,20 @@
fn into_untyped(value: Self, s: State) -> Result<Val> {
Ok(match value {
- Value::Null => Val::Null,
- Value::Bool(v) => Val::Bool(v),
- Value::Number(n) => Val::Num(n.as_f64().ok_or_else(|| {
+ Self::Null => Val::Null,
+ Self::Bool(v) => Val::Bool(v),
+ Self::Number(n) => Val::Num(n.as_f64().ok_or_else(|| {
RuntimeError(format!("json number can't be represented as jsonnet: {}", n).into())
})?),
- Value::String(s) => Val::Str((&s as &str).into()),
- Value::Array(a) => {
+ Self::String(s) => Val::Str((&s as &str).into()),
+ Self::Array(a) => {
let mut out: Vec<Val> = Vec::with_capacity(a.len());
for v in a {
out.push(Self::into_untyped(v, s.clone())?);
}
Val::Arr(out.into())
}
- Value::Object(o) => {
+ Self::Object(o) => {
let mut builder = ObjValueBuilder::with_capacity(o.len());
for (k, v) in o {
builder
crates/jrsonnet-evaluator/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/lib.rs
+++ b/crates/jrsonnet-evaluator/src/lib.rs
@@ -17,6 +17,11 @@
clippy::cast_possible_wrap,
clippy::cast_possible_truncation,
clippy::cast_sign_loss,
+ // False positives
+ // https://github.com/rust-lang/rust-clippy/issues/6902
+ clippy::use_self,
+ // https://github.com/rust-lang/rust-clippy/issues/8539
+ clippy::iter_with_drain,
)]
// For jrsonnet-macros
crates/jrsonnet-evaluator/src/stdlib/format.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/stdlib/format.rs
+++ b/crates/jrsonnet-evaluator/src/stdlib/format.rs
@@ -120,7 +120,7 @@
Ok((out, &str[i..]))
}
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
pub enum Width {
Star,
Fixed(usize),
@@ -174,7 +174,7 @@
Ok(((), &str[idx..]))
}
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
pub enum ConvTypeV {
Decimal,
Octal,
crates/jrsonnet-evaluator/src/stdlib/manifest.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/stdlib/manifest.rs
+++ b/crates/jrsonnet-evaluator/src/stdlib/manifest.rs
@@ -3,7 +3,7 @@
throw, State, Val,
};
-#[derive(PartialEq, Clone, Copy)]
+#[derive(PartialEq, Eq, Clone, Copy)]
pub enum ManifestType {
// Applied in manifestification
Manifest,
crates/jrsonnet-evaluator/src/trace/location.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/trace/location.rs
+++ b/crates/jrsonnet-evaluator/src/trace/location.rs
@@ -1,5 +1,5 @@
#[allow(clippy::module_name_repetitions)]
-#[derive(Clone, PartialEq, Debug)]
+#[derive(Clone, PartialEq, Eq, Debug)]
pub struct CodeLocation {
pub offset: usize,
crates/jrsonnet-evaluator/src/val.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/val.rs
+++ b/crates/jrsonnet-evaluator/src/val.rs
@@ -476,43 +476,43 @@
impl Val {
pub const fn as_bool(&self) -> Option<bool> {
match self {
- Val::Bool(v) => Some(*v),
+ Self::Bool(v) => Some(*v),
_ => None,
}
}
pub const fn as_null(&self) -> Option<()> {
match self {
- Val::Null => Some(()),
+ Self::Null => Some(()),
_ => None,
}
}
pub fn as_str(&self) -> Option<IStr> {
match self {
- Val::Str(s) => Some(s.clone()),
+ Self::Str(s) => Some(s.clone()),
_ => None,
}
}
pub const fn as_num(&self) -> Option<f64> {
match self {
- Val::Num(n) => Some(*n),
+ Self::Num(n) => Some(*n),
_ => None,
}
}
pub fn as_arr(&self) -> Option<ArrValue> {
match self {
- Val::Arr(a) => Some(a.clone()),
+ Self::Arr(a) => Some(a.clone()),
_ => None,
}
}
pub fn as_obj(&self) -> Option<ObjValue> {
match self {
- Val::Obj(o) => Some(o.clone()),
+ Self::Obj(o) => Some(o.clone()),
_ => None,
}
}
pub fn as_func(&self) -> Option<FuncVal> {
match self {
- Val::Func(f) => Some(f.clone()),
+ Self::Func(f) => Some(f.clone()),
_ => None,
}
}
crates/jrsonnet-interner/src/inner.rsdiffbeforeafterboth--- a/crates/jrsonnet-interner/src/inner.rs
+++ b/crates/jrsonnet-interner/src/inner.rs
@@ -157,7 +157,7 @@
pub fn ptr_eq(a: &Self, b: &Self) -> bool {
a.0 == b.0
}
- pub fn as_ptr(this: &Self) -> *const u8 {
+ pub const fn as_ptr(this: &Self) -> *const u8 {
// SAFETY: data is initialized
unsafe { this.0.as_ptr().add(mem::size_of::<InnerHeader>()) }
}
crates/jrsonnet-parser/src/expr.rsdiffbeforeafterboth--- a/crates/jrsonnet-parser/src/expr.rs
+++ b/crates/jrsonnet-parser/src/expr.rs
@@ -21,7 +21,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, Clone, Copy, PartialEq, Trace)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Trace)]
pub enum Visibility {
/// :
Normal,
@@ -60,7 +60,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, Clone, Copy, PartialEq, Trace)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Trace)]
pub enum UnaryOpType {
Plus,
Minus,
@@ -85,7 +85,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, Clone, Copy, PartialEq, Trace)]
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Trace)]
pub enum BinaryOpType {
Mul,
Div,
@@ -179,7 +179,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, Clone, PartialEq, Trace)]
+#[derive(Debug, Clone, PartialEq, Eq, Trace)]
pub enum DestructRest {
/// ...rest
Keep(IStr),
@@ -188,7 +188,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, Clone, PartialEq, Trace)]
+#[derive(Debug, Clone, PartialEq, Eq, Trace)]
pub enum Destruct {
Full(IStr),
#[cfg(feature = "exp-destruct")]
@@ -263,7 +263,7 @@
}
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Debug, PartialEq, Clone, Copy, Trace)]
+#[derive(Debug, PartialEq, Eq, Clone, Copy, Trace)]
pub enum LiteralType {
This,
Super,
@@ -357,7 +357,7 @@
/// file, begin offset, end offset
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
-#[derive(Clone, PartialEq, Trace)]
+#[derive(Clone, PartialEq, Eq, Trace)]
#[skip_trace]
#[repr(C)]
pub struct ExprLocation(pub Source, pub u32, pub u32);