complex selector equality ignores line_break
This commit is contained in:
parent
4610a30024
commit
a82de89adc
@ -1,4 +1,7 @@
|
|||||||
use std::fmt::{self, Display, Write};
|
use std::{
|
||||||
|
fmt::{self, Display, Write},
|
||||||
|
hash::{Hash, Hasher},
|
||||||
|
};
|
||||||
|
|
||||||
use crate::error::SassResult;
|
use crate::error::SassResult;
|
||||||
|
|
||||||
@ -8,7 +11,7 @@ use super::{CompoundSelector, Pseudo, SelectorList, SimpleSelector, Specificity}
|
|||||||
///
|
///
|
||||||
/// A complex selector is composed of `CompoundSelector`s separated by
|
/// A complex selector is composed of `CompoundSelector`s separated by
|
||||||
/// `Combinator`s. It selects elements based on their parent selectors.
|
/// `Combinator`s. It selects elements based on their parent selectors.
|
||||||
#[derive(Clone, Debug, Eq, PartialEq, Hash)]
|
#[derive(Clone, Debug)]
|
||||||
pub(crate) struct ComplexSelector {
|
pub(crate) struct ComplexSelector {
|
||||||
/// The components of this selector.
|
/// The components of this selector.
|
||||||
///
|
///
|
||||||
@ -26,6 +29,20 @@ pub(crate) struct ComplexSelector {
|
|||||||
pub line_break: bool,
|
pub line_break: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl PartialEq for ComplexSelector {
|
||||||
|
fn eq(&self, other: &Self) -> bool {
|
||||||
|
self.components == other.components
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Eq for ComplexSelector {}
|
||||||
|
|
||||||
|
impl Hash for ComplexSelector {
|
||||||
|
fn hash<H: Hasher>(&self, state: &mut H) {
|
||||||
|
self.components.hash(state);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl fmt::Display for ComplexSelector {
|
impl fmt::Display for ComplexSelector {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
let mut last_component = None;
|
let mut last_component = None;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user