clippy
This commit is contained in:
parent
78f482c9bb
commit
d349591926
@ -173,6 +173,7 @@ impl CallArgs {
|
|||||||
let len = self.len();
|
let len = self.len();
|
||||||
if len > max {
|
if len > max {
|
||||||
let mut err = String::with_capacity(50);
|
let mut err = String::with_capacity(50);
|
||||||
|
#[allow(clippy::format_push_string)]
|
||||||
err.push_str(&format!("Only {} argument", max));
|
err.push_str(&format!("Only {} argument", max));
|
||||||
if max != 1 {
|
if max != 1 {
|
||||||
err.push('s');
|
err.push('s');
|
||||||
|
@ -172,7 +172,7 @@ pub(crate) fn unvendor(name: &str) -> &str {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
if bytes.get(0_usize) != Some(&b'-') || bytes.get(1_usize) == Some(&b'-') {
|
if bytes.first() != Some(&b'-') || bytes.get(1_usize) == Some(&b'-') {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,9 +24,7 @@ impl InternedString {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn resolve_ref<'a>(self) -> &'a str {
|
pub fn resolve_ref<'a>(self) -> &'a str {
|
||||||
unsafe {
|
unsafe { STRINGS.with(|interner| interner.as_ptr().as_ref().unwrap().resolve(&self.0)) }
|
||||||
STRINGS.with(|interner| &(*(interner.as_ptr()).as_ref().unwrap().resolve(&self.0)))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
42
src/lib.rs
42
src/lib.rs
@ -23,76 +23,38 @@ grass input.scss
|
|||||||
```
|
```
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#![warn(
|
#![warn(clippy::all, clippy::pedantic, clippy::nursery, clippy::cargo)]
|
||||||
clippy::all,
|
|
||||||
clippy::restriction,
|
|
||||||
clippy::pedantic,
|
|
||||||
clippy::nursery,
|
|
||||||
clippy::cargo
|
|
||||||
)]
|
|
||||||
#![deny(missing_debug_implementations)]
|
#![deny(missing_debug_implementations)]
|
||||||
#![allow(
|
#![allow(
|
||||||
// explicit return makes some things look ugly
|
|
||||||
clippy::implicit_return,
|
|
||||||
clippy::use_self,
|
clippy::use_self,
|
||||||
clippy::missing_docs_in_private_items,
|
clippy::missing_docs_in_private_items,
|
||||||
clippy::unreachable,
|
clippy::unreachable,
|
||||||
// this disallows binding as well, e.g. `v => ...`
|
|
||||||
clippy::wildcard_enum_match_arm,
|
|
||||||
clippy::module_name_repetitions,
|
clippy::module_name_repetitions,
|
||||||
// it is sometimes useful to break up `impl`s
|
|
||||||
clippy::multiple_inherent_impl,
|
|
||||||
// filter isn't fallible
|
// filter isn't fallible
|
||||||
clippy::manual_filter_map,
|
clippy::manual_filter_map,
|
||||||
clippy::else_if_without_else,
|
|
||||||
clippy::new_ret_no_self,
|
clippy::new_ret_no_self,
|
||||||
renamed_and_removed_lints,
|
renamed_and_removed_lints,
|
||||||
clippy::unknown_clippy_lints,
|
clippy::unknown_clippy_lints,
|
||||||
clippy::single_match,
|
clippy::single_match,
|
||||||
clippy::float_arithmetic,
|
|
||||||
clippy::unimplemented,
|
clippy::unimplemented,
|
||||||
clippy::pattern_type_mismatch,
|
|
||||||
clippy::blanket_clippy_restriction_lints,
|
|
||||||
clippy::option_if_let_else,
|
clippy::option_if_let_else,
|
||||||
clippy::panic_in_result_fn,
|
|
||||||
clippy::unwrap_in_result,
|
|
||||||
clippy::map_err_ignore,
|
|
||||||
clippy::default_numeric_fallback,
|
|
||||||
clippy::if_then_some_else_none,
|
|
||||||
clippy::string_slice,
|
|
||||||
clippy::separated_literal_suffix,
|
|
||||||
clippy::non_ascii_literal,
|
|
||||||
clippy::same_name_method,
|
|
||||||
clippy::undocumented_unsafe_blocks,
|
|
||||||
clippy::exhaustive_structs,
|
|
||||||
clippy::single_char_lifetime_names,
|
|
||||||
clippy::branches_sharing_code,
|
clippy::branches_sharing_code,
|
||||||
|
clippy::derive_partial_eq_without_eq,
|
||||||
|
|
||||||
// temporarily allowed while under heavy development.
|
// temporarily allowed while under heavy development.
|
||||||
// eventually these allows should be refactored away
|
// eventually these allows should be refactored away
|
||||||
// to no longer be necessary
|
// to no longer be necessary
|
||||||
clippy::as_conversions,
|
|
||||||
clippy::todo,
|
|
||||||
clippy::too_many_lines,
|
clippy::too_many_lines,
|
||||||
clippy::panic,
|
|
||||||
clippy::unwrap_used,
|
|
||||||
clippy::unwrap_used,
|
|
||||||
clippy::cast_possible_truncation,
|
clippy::cast_possible_truncation,
|
||||||
clippy::single_match_else,
|
clippy::single_match_else,
|
||||||
clippy::indexing_slicing,
|
|
||||||
clippy::redundant_pub_crate,
|
clippy::redundant_pub_crate,
|
||||||
// the api is changing too often to allot this
|
// the api is changing too often to allot this
|
||||||
clippy::missing_errors_doc,
|
clippy::missing_errors_doc,
|
||||||
clippy::missing_const_for_fn,
|
clippy::missing_const_for_fn,
|
||||||
clippy::multiple_crate_versions,
|
clippy::multiple_crate_versions,
|
||||||
|
|
||||||
clippy::integer_arithmetic,
|
|
||||||
clippy::string_add,
|
|
||||||
clippy::get_unwrap,
|
|
||||||
clippy::wrong_self_convention,
|
clippy::wrong_self_convention,
|
||||||
clippy::items_after_statements,
|
clippy::items_after_statements,
|
||||||
clippy::shadow_reuse,
|
|
||||||
clippy::shadow_unrelated,
|
|
||||||
// this is only available on nightly
|
// this is only available on nightly
|
||||||
clippy::unnested_or_patterns,
|
clippy::unnested_or_patterns,
|
||||||
)]
|
)]
|
||||||
|
@ -10,7 +10,7 @@ use grass::{from_path, from_string, Options, OutputStyle};
|
|||||||
|
|
||||||
// TODO remove this
|
// TODO remove this
|
||||||
arg_enum! {
|
arg_enum! {
|
||||||
#[derive(PartialEq, Debug)]
|
#[derive(Eq, PartialEq, Debug)]
|
||||||
pub enum Style {
|
pub enum Style {
|
||||||
Expanded,
|
Expanded,
|
||||||
Compressed,
|
Compressed,
|
||||||
@ -18,7 +18,7 @@ arg_enum! {
|
|||||||
}
|
}
|
||||||
|
|
||||||
arg_enum! {
|
arg_enum! {
|
||||||
#[derive(PartialEq, Debug)]
|
#[derive(Eq, PartialEq, Debug)]
|
||||||
pub enum SourceMapUrls {
|
pub enum SourceMapUrls {
|
||||||
Relative,
|
Relative,
|
||||||
Absolute,
|
Absolute,
|
||||||
|
@ -404,9 +404,10 @@ trait Formatter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
#[derive(Debug, Default)]
|
||||||
struct CompressedFormatter {}
|
struct CompressedFormatter;
|
||||||
|
|
||||||
impl Formatter for CompressedFormatter {
|
impl Formatter for CompressedFormatter {
|
||||||
|
#[allow(clippy::only_used_in_recursion)]
|
||||||
fn write_css(&mut self, buf: &mut Vec<u8>, css: Css, map: &CodeMap) -> SassResult<()> {
|
fn write_css(&mut self, buf: &mut Vec<u8>, css: Css, map: &CodeMap) -> SassResult<()> {
|
||||||
for block in css.blocks {
|
for block in css.blocks {
|
||||||
match block {
|
match block {
|
||||||
@ -593,6 +594,7 @@ pub(crate) enum AtRuleContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Formatter for ExpandedFormatter {
|
impl Formatter for ExpandedFormatter {
|
||||||
|
#[allow(clippy::only_used_in_recursion)]
|
||||||
fn write_css(&mut self, buf: &mut Vec<u8>, css: Css, map: &CodeMap) -> SassResult<()> {
|
fn write_css(&mut self, buf: &mut Vec<u8>, css: Css, map: &CodeMap) -> SassResult<()> {
|
||||||
let padding = " ".repeat(self.nesting);
|
let padding = " ".repeat(self.nesting);
|
||||||
self.nesting += 1;
|
self.nesting += 1;
|
||||||
|
@ -118,11 +118,11 @@ impl<'a, 'b> Parser<'a, 'b> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let c = std::char::from_u32(value).ok_or(("Invalid Unicode code point.", span))?;
|
let c = std::char::from_u32(value).ok_or(("Invalid Unicode code point.", span))?;
|
||||||
if (identifier_start && is_name_start(c) && !c.is_digit(10))
|
if (identifier_start && is_name_start(c) && !c.is_ascii_digit())
|
||||||
|| (!identifier_start && is_name(c))
|
|| (!identifier_start && is_name(c))
|
||||||
{
|
{
|
||||||
Ok(c.to_string())
|
Ok(c.to_string())
|
||||||
} else if value <= 0x1F || value == 0x7F || (identifier_start && c.is_digit(10)) {
|
} else if value <= 0x1F || value == 0x7F || (identifier_start && c.is_ascii_digit()) {
|
||||||
let mut buf = String::with_capacity(4);
|
let mut buf = String::with_capacity(4);
|
||||||
buf.push('\\');
|
buf.push('\\');
|
||||||
if value > 0xF {
|
if value > 0xF {
|
||||||
|
@ -1330,6 +1330,7 @@ impl<'a, 'b: 'a, 'c> IntermediateValueIterator<'a, 'b, 'c> {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::only_used_in_recursion)]
|
||||||
fn single_value(&mut self, in_paren: bool) -> SassResult<Spanned<HigherIntermediateValue>> {
|
fn single_value(&mut self, in_paren: bool) -> SassResult<Spanned<HigherIntermediateValue>> {
|
||||||
let next = self
|
let next = self
|
||||||
.next()
|
.next()
|
||||||
|
@ -274,10 +274,7 @@ fn flatten_vertically<A: std::fmt::Debug>(iterable: Vec<Vec<A>>) -> Vec<A> {
|
|||||||
result.push(queue.pop_front().unwrap());
|
result.push(queue.pop_front().unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
queues = queues
|
queues.retain(|queue| !queue.is_empty());
|
||||||
.into_iter()
|
|
||||||
.filter(|queue| !queue.is_empty())
|
|
||||||
.collect();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
result
|
result
|
||||||
|
@ -196,7 +196,7 @@ impl Mul<Unit> for Unit {
|
|||||||
Unit::Mul(u) => match rhs {
|
Unit::Mul(u) => match rhs {
|
||||||
Unit::Mul(u2) => {
|
Unit::Mul(u2) => {
|
||||||
let mut unit1 = *u;
|
let mut unit1 = *u;
|
||||||
unit1.extend_from_slice(&*u2);
|
unit1.extend_from_slice(&u2);
|
||||||
Unit::Mul(Box::new(unit1))
|
Unit::Mul(Box::new(unit1))
|
||||||
}
|
}
|
||||||
Unit::Div(..) => todo!(),
|
Unit::Div(..) => todo!(),
|
||||||
@ -210,7 +210,7 @@ impl Mul<Unit> for Unit {
|
|||||||
_ => match rhs {
|
_ => match rhs {
|
||||||
Unit::Mul(u2) => {
|
Unit::Mul(u2) => {
|
||||||
let mut unit1 = vec![self];
|
let mut unit1 = vec![self];
|
||||||
unit1.extend_from_slice(&*u2);
|
unit1.extend_from_slice(&u2);
|
||||||
Unit::Mul(Box::new(unit1))
|
Unit::Mul(Box::new(unit1))
|
||||||
}
|
}
|
||||||
Unit::Div(..) => todo!(),
|
Unit::Div(..) => todo!(),
|
||||||
|
@ -570,6 +570,7 @@ impl Value {
|
|||||||
.0)
|
.0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(clippy::only_used_in_recursion)]
|
||||||
fn selector_string(self, span: Span) -> SassResult<Option<String>> {
|
fn selector_string(self, span: Span) -> SassResult<Option<String>> {
|
||||||
Ok(Some(match self {
|
Ok(Some(match self {
|
||||||
Value::String(text, ..) => text,
|
Value::String(text, ..) => text,
|
||||||
|
@ -141,8 +141,8 @@ impl Number {
|
|||||||
#[allow(clippy::cast_precision_loss)]
|
#[allow(clippy::cast_precision_loss)]
|
||||||
pub fn as_float(self) -> Option<f64> {
|
pub fn as_float(self) -> Option<f64> {
|
||||||
Some(match self {
|
Some(match self {
|
||||||
Number::Small(n) => ((*n.numer() as f64) / (*n.denom() as f64)),
|
Number::Small(n) => (*n.numer() as f64) / (*n.denom() as f64),
|
||||||
Number::Big(n) => ((n.numer().to_f64()?) / (n.denom().to_f64()?)),
|
Number::Big(n) => (n.numer().to_f64()?) / (n.denom().to_f64()?),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user