aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPi-Cla <pirateclip@protonmail.com>2024-05-02 14:02:21 -0600
committerGitHub <noreply@github.com>2024-05-02 20:02:21 +0000
commit160c7c0b0f061afa1277fa56cdd1d898379a8223 (patch)
tree3ef1bf1092d13912ec702cb507fe6ebf2ec81702
parentca064eaa518f407988751ce51834eff3d65b681c (diff)
downloadservo-160c7c0b0f061afa1277fa56cdd1d898379a8223.tar.gz
servo-160c7c0b0f061afa1277fa56cdd1d898379a8223.zip
Fix some clippy warnings in `components/gfx` and `components/script` (#32215)
* clippy: Squish warnings and errors in gfx warning: redundant closure (gfx/font.rs:415:18) warning: useless conversion to the same type (gfx/font.rs:534:9) warning: the following explicit lifetimes could be elided: 'a (gfx/font.rs:619:16) error: this loop never actually loops (gfx/font_cache_thread.rs:112:9) warning: this expression creates a reference which is immediately dereferenced by the compiler (gfx/font_cache_thread.rs:229:51) warning: redundant closure (gfx/font_cache_thread.rs:551:18) 3 instances of: warning: casting integer literal to `f64` is unnecessary (gfx/platform/freetype/font_list.rs:271-273) * clippy: methods called `from_*` usually take no `self` It reports that by standard convention, from_* methods should not take any `&self` parameter * clippy: you should consider adding a `Default` implementation It reports that public types with a pub fn new() -> Self should have a Default implementation since they can be constructed without arguments * clippy: casting to the same type is unnecessary (`f32` -> `f32`) * clippy: use of `unwrap_or_else` to construct default value * clippy: methods called `is_*` usually take `self` by mutable reference or `self` by reference or no `self` * clippy: manual `!RangeInclusive::contains` implementation contains expresses the intent better and has less failure modes (such as fencepost errors or using || instead of &&) * clippy: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]` * clippy: Fix some new warnings warning: this `if` statement can be collapsed (gfx/font.rs:468:130) warning: this lifetime isn't used in the impl (gfx/platform/freetype/font.rs:341:6) warning: field assignment outside of initializer for an instance created with Default::default() (compositor.rs:881:17)
-rw-r--r--components/compositing/compositor.rs6
-rw-r--r--components/gfx/font.rs15
-rw-r--r--components/gfx/font_cache_thread.rs9
-rw-r--r--components/gfx/platform/freetype/font.rs2
-rw-r--r--components/gfx/platform/freetype/font_list.rs6
-rw-r--r--components/script/dom/abstractworkerglobalscope.rs16
-rw-r--r--components/script/dom/bindings/record.rs6
-rw-r--r--components/script/dom/bluetooth.rs6
-rw-r--r--components/script/dom/dedicatedworkerglobalscope.rs6
-rw-r--r--components/script/dom/document.rs4
-rw-r--r--components/script/dom/elementinternals.rs2
-rw-r--r--components/script/dom/identityhub.rs6
-rw-r--r--components/script/dom/node.rs6
-rw-r--r--components/script/dom/offlineaudiocontext.rs3
-rw-r--r--components/script/dom/serviceworkerglobalscope.rs6
-rw-r--r--components/script/dom/servoparser/async_html.rs1
-rw-r--r--components/script/dom/servoparser/html.rs1
-rw-r--r--components/script/dom/servoparser/mod.rs1
-rw-r--r--components/script/dom/servoparser/xml.rs1
19 files changed, 56 insertions, 47 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs
index 50b598c86e5..9e55648f5eb 100644
--- a/components/compositing/compositor.rs
+++ b/components/compositing/compositor.rs
@@ -877,8 +877,10 @@ impl<Window: WindowMethods + ?Sized> IOCompositor<Window> {
let key = self.webrender_api.generate_font_instance_key();
let mut transaction = Transaction::new();
- let mut font_instance_options = FontInstanceOptions::default();
- font_instance_options.flags = flags;
+ let font_instance_options = FontInstanceOptions {
+ flags,
+ ..Default::default()
+ };
transaction.add_font_instance(
key,
font_key,
diff --git a/components/gfx/font.rs b/components/gfx/font.rs
index de42f6c321c..fe899a4ea82 100644
--- a/components/gfx/font.rs
+++ b/components/gfx/font.rs
@@ -443,7 +443,7 @@ impl FontGroup {
.font_family
.families
.iter()
- .map(|family| FontGroupFamily::new(family))
+ .map(FontGroupFamily::new)
.collect();
FontGroup {
@@ -465,10 +465,8 @@ impl FontGroup {
let should_look_for_small_caps = self.descriptor.variant == font_variant_caps::T::SmallCaps &&
codepoint.is_ascii_lowercase();
let font_or_synthesized_small_caps = |font: FontRef| {
- if should_look_for_small_caps {
- if font.synthesized_small_caps.is_some() {
- return font.synthesized_small_caps.clone();
- }
+ if should_look_for_small_caps && font.synthesized_small_caps.is_some() {
+ return font.synthesized_small_caps.clone();
}
Some(font)
};
@@ -565,7 +563,6 @@ impl FontGroup {
.chain(fallback_font_families(codepoint).into_iter().map(|family| {
FontFamilyDescriptor::new(FontFamilyName::from(family), FontSearchScope::Local)
}))
- .into_iter()
.filter_map(|family_descriptor| {
FontGroupFamily {
family_descriptor,
@@ -646,11 +643,11 @@ impl FontGroupFamily {
.next()
}
- fn members<'a, S: FontSource>(
- &'a mut self,
+ fn members<S: FontSource>(
+ &mut self,
font_descriptor: &FontDescriptor,
font_context: &FontContext<S>,
- ) -> impl Iterator<Item = &mut FontGroupFamilyMember> + 'a {
+ ) -> impl Iterator<Item = &mut FontGroupFamilyMember> {
let family_descriptor = &self.family_descriptor;
let members = self.members.get_or_insert_with(|| {
font_context
diff --git a/components/gfx/font_cache_thread.rs b/components/gfx/font_cache_thread.rs
index 3c1790edb6f..22cd5edee47 100644
--- a/components/gfx/font_cache_thread.rs
+++ b/components/gfx/font_cache_thread.rs
@@ -108,7 +108,7 @@ impl FontTemplates {
// If a request is made for a font family that exists,
// pick the first valid font in the family if we failed
// to find an exact match for the descriptor.
- for template in &mut self.templates.iter() {
+ if let Some(template) = self.templates.first() {
return vec![template.clone()];
}
@@ -231,7 +231,7 @@ impl FontCache {
.font_data
.entry(identifier)
.or_insert_with(|| font_template.data());
- let _ = bytes_sender.send(&data);
+ let _ = bytes_sender.send(data);
}
},
Command::GetFontInstance(identifier, pt_size, flags, result) => {
@@ -557,10 +557,7 @@ impl From<&FontFaceRuleData> for CSSFontFaceDescriptors {
),
}
}
- let style = rule_data
- .style
- .as_ref()
- .map(|style| style_to_computed(style));
+ let style = rule_data.style.as_ref().map(style_to_computed);
let unicode_range = rule_data
.unicode_range
.as_ref()
diff --git a/components/gfx/platform/freetype/font.rs b/components/gfx/platform/freetype/font.rs
index f68e370e6d3..c6c7f802c3b 100644
--- a/components/gfx/platform/freetype/font.rs
+++ b/components/gfx/platform/freetype/font.rs
@@ -338,7 +338,7 @@ impl PlatformFontMethods for PlatformFont {
}
}
-impl<'a> PlatformFont {
+impl PlatformFont {
fn set_char_size(face: FT_Face, pt_size: Au) -> Result<(), &'static str> {
let char_size = pt_size.to_f64_px() * 64.0 + 0.5;
diff --git a/components/gfx/platform/freetype/font_list.rs b/components/gfx/platform/freetype/font_list.rs
index 65a6457b25d..a958248f8c5 100644
--- a/components/gfx/platform/freetype/font_list.rs
+++ b/components/gfx/platform/freetype/font_list.rs
@@ -268,9 +268,9 @@ fn font_weight_from_fontconfig_pattern(pattern: *mut FcPattern) -> Option<FontWe
let mapping = [
(0., 0.),
- (FC_WEIGHT_REGULAR as f64, 400 as f64),
- (FC_WEIGHT_BOLD as f64, 700 as f64),
- (FC_WEIGHT_EXTRABLACK as f64, 1000 as f64),
+ (FC_WEIGHT_REGULAR as f64, 400_f64),
+ (FC_WEIGHT_BOLD as f64, 700_f64),
+ (FC_WEIGHT_EXTRABLACK as f64, 1000_f64),
];
let mapped_weight = map_platform_values_to_style_values(&mapping, weight as f64);
diff --git a/components/script/dom/abstractworkerglobalscope.rs b/components/script/dom/abstractworkerglobalscope.rs
index 835438c5f23..50844953a21 100644
--- a/components/script/dom/abstractworkerglobalscope.rs
+++ b/components/script/dom/abstractworkerglobalscope.rs
@@ -91,9 +91,9 @@ pub trait WorkerEventLoopMethods {
fn task_queue(&self) -> &TaskQueue<Self::WorkerMsg>;
fn handle_event(&self, event: Self::Event) -> bool;
fn handle_worker_post_event(&self, worker: &TrustedWorkerAddress) -> Option<AutoWorkerReset>;
- fn from_control_msg(&self, msg: Self::ControlMsg) -> Self::Event;
- fn from_worker_msg(&self, msg: Self::WorkerMsg) -> Self::Event;
- fn from_devtools_msg(&self, msg: DevtoolScriptControlMsg) -> Self::Event;
+ fn from_control_msg(msg: Self::ControlMsg) -> Self::Event;
+ fn from_worker_msg(msg: Self::WorkerMsg) -> Self::Event;
+ fn from_devtools_msg(msg: DevtoolScriptControlMsg) -> Self::Event;
fn control_receiver(&self) -> &Receiver<Self::ControlMsg>;
}
@@ -114,13 +114,13 @@ pub fn run_worker_event_loop<T, WorkerMsg, Event>(
.map(|_| scope.from_devtools_receiver());
let task_queue = worker_scope.task_queue();
let event = select! {
- recv(worker_scope.control_receiver()) -> msg => worker_scope.from_control_msg(msg.unwrap()),
+ recv(worker_scope.control_receiver()) -> msg => T::from_control_msg(msg.unwrap()),
recv(task_queue.select()) -> msg => {
task_queue.take_tasks(msg.unwrap());
- worker_scope.from_worker_msg(task_queue.recv().unwrap())
+ T::from_worker_msg(task_queue.recv().unwrap())
},
recv(devtools_port.unwrap_or(&crossbeam_channel::never())) -> msg =>
- worker_scope.from_devtools_msg(msg.unwrap()),
+ T::from_devtools_msg(msg.unwrap()),
};
let mut sequential = vec![];
sequential.push(event);
@@ -136,9 +136,9 @@ pub fn run_worker_event_loop<T, WorkerMsg, Event>(
Err(_) => match devtools_port.map(|port| port.try_recv()) {
None => {},
Some(Err(_)) => break,
- Some(Ok(ev)) => sequential.push(worker_scope.from_devtools_msg(ev)),
+ Some(Ok(ev)) => sequential.push(T::from_devtools_msg(ev)),
},
- Ok(ev) => sequential.push(worker_scope.from_worker_msg(ev)),
+ Ok(ev) => sequential.push(T::from_worker_msg(ev)),
}
}
// Step 3
diff --git a/components/script/dom/bindings/record.rs b/components/script/dom/bindings/record.rs
index 33377b0dd09..c437b8955f7 100644
--- a/components/script/dom/bindings/record.rs
+++ b/components/script/dom/bindings/record.rs
@@ -195,3 +195,9 @@ where
rval.set(ObjectValue(js_object.handle().get()));
}
}
+
+impl<K: RecordKey, V> Default for Record<K, V> {
+ fn default() -> Self {
+ Self::new()
+ }
+}
diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs
index 77ca187a671..7ae54893064 100644
--- a/components/script/dom/bluetooth.rs
+++ b/components/script/dom/bluetooth.rs
@@ -98,6 +98,12 @@ impl BluetoothExtraPermissionData {
}
}
+impl Default for BluetoothExtraPermissionData {
+ fn default() -> Self {
+ Self::new()
+ }
+}
+
struct BluetoothContext<T: AsyncBluetoothListener + DomObject> {
promise: Option<TrustedPromise>,
receiver: Trusted<T>,
diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs
index 7e1c9e1abc3..b8647c305ce 100644
--- a/components/script/dom/dedicatedworkerglobalscope.rs
+++ b/components/script/dom/dedicatedworkerglobalscope.rs
@@ -219,15 +219,15 @@ impl WorkerEventLoopMethods for DedicatedWorkerGlobalScope {
Some(ar)
}
- fn from_control_msg(&self, msg: DedicatedWorkerControlMsg) -> MixedMessage {
+ fn from_control_msg(msg: DedicatedWorkerControlMsg) -> MixedMessage {
MixedMessage::Control(msg)
}
- fn from_worker_msg(&self, msg: DedicatedWorkerScriptMsg) -> MixedMessage {
+ fn from_worker_msg(msg: DedicatedWorkerScriptMsg) -> MixedMessage {
MixedMessage::Worker(msg)
}
- fn from_devtools_msg(&self, msg: DevtoolScriptControlMsg) -> MixedMessage {
+ fn from_devtools_msg(msg: DevtoolScriptControlMsg) -> MixedMessage {
MixedMessage::Devtools(msg)
}
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index 85e1d53e95d..c67780115ef 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -994,8 +994,8 @@ impl Document {
// (like Acid2).
let device_pixel_ratio = self.window.device_pixel_ratio().get();
(
- rect.origin.x.to_nearest_pixel(device_pixel_ratio) as f32,
- rect.origin.y.to_nearest_pixel(device_pixel_ratio) as f32,
+ rect.origin.x.to_nearest_pixel(device_pixel_ratio),
+ rect.origin.y.to_nearest_pixel(device_pixel_ratio),
)
})
.or_else(|| {
diff --git a/components/script/dom/elementinternals.rs b/components/script/dom/elementinternals.rs
index 716bddd94b0..3956b1cccc8 100644
--- a/components/script/dom/elementinternals.rs
+++ b/components/script/dom/elementinternals.rs
@@ -238,7 +238,7 @@ impl ElementInternalsMethods for ElementInternals {
if bits.is_empty() {
self.set_validation_message(DOMString::new());
} else {
- self.set_validation_message(message.unwrap_or_else(DOMString::new));
+ self.set_validation_message(message.unwrap_or_default());
}
// Step 6: If element's customError validity flag is true, then set element's custom validity error
diff --git a/components/script/dom/identityhub.rs b/components/script/dom/identityhub.rs
index 1fe8051f44c..976637dac51 100644
--- a/components/script/dom/identityhub.rs
+++ b/components/script/dom/identityhub.rs
@@ -218,3 +218,9 @@ impl Identities {
self.select(id.backend()).render_bundles.free(id);
}
}
+
+impl Default for Identities {
+ fn default() -> Self {
+ Self::new()
+ }
+}
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index b3b7fca3904..19178806944 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -1325,7 +1325,7 @@ pub trait LayoutNodeHelpers<'dom> {
fn owner_doc_for_layout(self) -> LayoutDom<'dom, Document>;
fn containing_shadow_root_for_layout(self) -> Option<LayoutDom<'dom, ShadowRoot>>;
- fn is_element_for_layout(self) -> bool;
+ fn is_element_for_layout(&self) -> bool;
unsafe fn get_flag(self, flag: NodeFlags) -> bool;
unsafe fn set_flag(self, flag: NodeFlags, value: bool);
@@ -1387,8 +1387,8 @@ impl<'dom> LayoutNodeHelpers<'dom> for LayoutDom<'dom, Node> {
}
#[inline]
- fn is_element_for_layout(self) -> bool {
- self.is::<Element>()
+ fn is_element_for_layout(&self) -> bool {
+ (*self).is::<Element>()
}
#[inline]
diff --git a/components/script/dom/offlineaudiocontext.rs b/components/script/dom/offlineaudiocontext.rs
index 072f19d80da..fcdffddb449 100644
--- a/components/script/dom/offlineaudiocontext.rs
+++ b/components/script/dom/offlineaudiocontext.rs
@@ -81,8 +81,7 @@ impl OfflineAudioContext {
if channel_count > MAX_CHANNEL_COUNT ||
channel_count == 0 ||
length == 0 ||
- sample_rate < MIN_SAMPLE_RATE ||
- sample_rate > MAX_SAMPLE_RATE
+ !(MIN_SAMPLE_RATE..=MAX_SAMPLE_RATE).contains(&sample_rate)
{
return Err(Error::NotSupported);
}
diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs
index 36b2ccd9504..8bede70297e 100644
--- a/components/script/dom/serviceworkerglobalscope.rs
+++ b/components/script/dom/serviceworkerglobalscope.rs
@@ -201,15 +201,15 @@ impl WorkerEventLoopMethods for ServiceWorkerGlobalScope {
None
}
- fn from_control_msg(&self, msg: ServiceWorkerControlMsg) -> MixedMessage {
+ fn from_control_msg(msg: ServiceWorkerControlMsg) -> MixedMessage {
MixedMessage::Control(msg)
}
- fn from_worker_msg(&self, msg: ServiceWorkerScriptMsg) -> MixedMessage {
+ fn from_worker_msg(msg: ServiceWorkerScriptMsg) -> MixedMessage {
MixedMessage::ServiceWorker(msg)
}
- fn from_devtools_msg(&self, msg: DevtoolScriptControlMsg) -> MixedMessage {
+ fn from_devtools_msg(msg: DevtoolScriptControlMsg) -> MixedMessage {
MixedMessage::Devtools(msg)
}
diff --git a/components/script/dom/servoparser/async_html.rs b/components/script/dom/servoparser/async_html.rs
index 95081d753eb..7200b9ed5c6 100644
--- a/components/script/dom/servoparser/async_html.rs
+++ b/components/script/dom/servoparser/async_html.rs
@@ -283,7 +283,6 @@ impl Tokenizer {
tokenizer
}
- #[must_use]
pub fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
let mut send_tendrils = VecDeque::new();
while let Some(str) = input.pop_front() {
diff --git a/components/script/dom/servoparser/html.rs b/components/script/dom/servoparser/html.rs
index 11b26869963..ade1fdf4613 100644
--- a/components/script/dom/servoparser/html.rs
+++ b/components/script/dom/servoparser/html.rs
@@ -78,7 +78,6 @@ impl Tokenizer {
Tokenizer { inner }
}
- #[must_use]
pub fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
match self.inner.feed(input) {
TokenizerResult::Done => TokenizerResult::Done,
diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs
index 3d8fbc347b4..507e2a2cb99 100644
--- a/components/script/dom/servoparser/mod.rs
+++ b/components/script/dom/servoparser/mod.rs
@@ -698,7 +698,6 @@ enum Tokenizer {
}
impl Tokenizer {
- #[must_use]
fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
match *self {
Tokenizer::Html(ref mut tokenizer) => tokenizer.feed(input),
diff --git a/components/script/dom/servoparser/xml.rs b/components/script/dom/servoparser/xml.rs
index d07d6bc6afb..26b43910100 100644
--- a/components/script/dom/servoparser/xml.rs
+++ b/components/script/dom/servoparser/xml.rs
@@ -41,7 +41,6 @@ impl Tokenizer {
Tokenizer { inner: tok }
}
- #[must_use]
pub fn feed(&mut self, input: &mut BufferQueue) -> TokenizerResult<DomRoot<HTMLScriptElement>> {
self.inner.run(input);
match self.inner.sink.sink.script.take() {