Remove unnecessary collect in lower_property_to_element

We can pass an iterator instead
This commit is contained in:
Simon Hausmann 2022-08-16 08:40:15 +02:00 committed by Simon Hausmann
parent 56cbb0e642
commit e5d8b0e9d9
2 changed files with 12 additions and 14 deletions

View file

@ -127,7 +127,7 @@ pub async fn run_passes(
lower_property_to_element::lower_property_to_element(
component,
"opacity",
&[],
core::iter::empty(),
"Opacity",
&global_type_registry.borrow(),
diag,
@ -135,7 +135,7 @@ pub async fn run_passes(
lower_property_to_element::lower_property_to_element(
component,
"cache-rendering-hint",
&[],
core::iter::empty(),
"Layer",
&global_type_registry.borrow(),
diag,
@ -146,9 +146,7 @@ pub async fn run_passes(
crate::typeregister::RESERVED_ROTATION_PROPERTIES[0].0,
crate::typeregister::RESERVED_ROTATION_PROPERTIES[1..]
.iter()
.map(|(prop_name, _)| *prop_name)
.collect::<Vec<_>>()
.as_slice(),
.map(|(prop_name, _)| *prop_name),
"Rotate",
&global_type_registry.borrow(),
diag,

View file

@ -20,8 +20,8 @@ use crate::typeregister::TypeRegister;
// `Rotate` element.
pub(crate) fn lower_property_to_element(
component: &Rc<Component>,
property_name: &str,
extra_properties: &[&str],
property_name: &'static str,
extra_properties: impl Iterator<Item = &'static str> + Clone,
element_name: &str,
type_register: &TypeRegister,
diag: &mut BuildDiagnostics,
@ -66,7 +66,7 @@ pub(crate) fn lower_property_to_element(
create_property_element(
&root_elem,
property_name,
extra_properties,
extra_properties.clone(),
element_name,
type_register,
),
@ -76,7 +76,7 @@ pub(crate) fn lower_property_to_element(
let new_child = create_property_element(
&child,
property_name,
extra_properties,
extra_properties.clone(),
element_name,
type_register,
);
@ -92,15 +92,15 @@ pub(crate) fn lower_property_to_element(
fn create_property_element(
child: &ElementRc,
property_name: &str,
extra_properties: &[&str],
property_name: &'static str,
extra_properties: impl Iterator<Item = &'static str>,
element_name: &str,
type_register: &TypeRegister,
) -> ElementRc {
let bindings = core::iter::once(&property_name)
.chain(extra_properties.iter())
let bindings = core::iter::once(property_name)
.chain(extra_properties)
.filter_map(|property_name| {
if child.borrow().bindings.contains_key(*property_name) {
if child.borrow().bindings.contains_key(property_name) {
Some((
property_name.to_string(),
BindingExpression::new_two_way(NamedReference::new(child, property_name))