Upgrade rayon_croissant to 0.2.0

This commit is contained in:
Simon Sapin 2019-12-12 18:57:18 +01:00
parent 9edda952c9
commit 1c8d14ac0d
4 changed files with 19 additions and 18 deletions

4
Cargo.lock generated
View file

@ -4221,9 +4221,9 @@ dependencies = [
[[package]] [[package]]
name = "rayon_croissant" name = "rayon_croissant"
version = "0.1.1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b725e815f3aa08718063883a75003336889debafe2f8fa67fbe91563ddc4efa" checksum = "3e4aafda434bd10fec689858e2b1d713d0b784b1e60df3761ac8fa727d7e8e27"
dependencies = [ dependencies = [
"moite_moite", "moite_moite",
"rayon", "rayon",

View file

@ -25,7 +25,7 @@ msg = {path = "../msg"}
net_traits = {path = "../net_traits"} net_traits = {path = "../net_traits"}
range = {path = "../range"} range = {path = "../range"}
rayon = "1" rayon = "1"
rayon_croissant = "0.1.1" rayon_croissant = "0.2.0"
script_layout_interface = {path = "../script_layout_interface"} script_layout_interface = {path = "../script_layout_interface"}
script_traits = {path = "../script_traits"} script_traits = {path = "../script_traits"}
serde = "1.0" serde = "1.0"

View file

@ -172,14 +172,6 @@ impl BlockContainer {
contains_floats: ContainsFloats, contains_floats: ContainsFloats,
outer_content_sizes_of_children: ContentSizes, outer_content_sizes_of_children: ContentSizes,
} }
impl Default for Accumulator {
fn default() -> Self {
Self {
contains_floats: ContainsFloats::No,
outer_content_sizes_of_children: ContentSizes::zero(),
}
}
}
let mut acc = Accumulator { let mut acc = Accumulator {
contains_floats: builder.contains_floats, contains_floats: builder.contains_floats,
outer_content_sizes_of_children: ContentSizes::zero(), outer_content_sizes_of_children: ContentSizes::zero(),
@ -199,13 +191,21 @@ impl BlockContainer {
builder builder
.block_level_boxes .block_level_boxes
.into_par_iter() .into_par_iter()
.mapfold_reduce_into(&mut acc, mapfold, |left, right| { .mapfold_reduce_into(
left.contains_floats |= right.contains_floats; &mut acc,
if content_sizes.requests_inline() { mapfold,
left.outer_content_sizes_of_children || Accumulator {
.max_assign(&right.outer_content_sizes_of_children) contains_floats: ContainsFloats::No,
} outer_content_sizes_of_children: ContentSizes::zero(),
}) },
|left, right| {
left.contains_floats |= right.contains_floats;
if content_sizes.requests_inline() {
left.outer_content_sizes_of_children
.max_assign(&right.outer_content_sizes_of_children)
}
},
)
.collect() .collect()
} else { } else {
builder builder

View file

@ -235,6 +235,7 @@ fn layout_block_level_children<'a>(
/* float_context = */ None, /* float_context = */ None,
) )
}, },
Default::default,
|left, right| left.append(right), |left, right| left.append(right),
) )
.collect(); .collect();