mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Remove the now single-field Accumulator
struct
This commit is contained in:
parent
51c388fe1c
commit
5fed956d65
1 changed files with 7 additions and 15 deletions
|
@ -198,15 +198,10 @@ impl BlockContainer {
|
||||||
builder.end_ongoing_inline_formatting_context();
|
builder.end_ongoing_inline_formatting_context();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Accumulator {
|
let mut contains_floats = builder.contains_floats;
|
||||||
contains_floats: ContainsFloats,
|
let mapfold = |contains_floats: &mut ContainsFloats, creator: BlockLevelJob<'dom, _>| {
|
||||||
}
|
|
||||||
let mut acc = Accumulator {
|
|
||||||
contains_floats: builder.contains_floats,
|
|
||||||
};
|
|
||||||
let mapfold = |acc: &mut Accumulator, creator: BlockLevelJob<'dom, _>| {
|
|
||||||
let (block_level_box, box_contains_floats) = creator.finish(context);
|
let (block_level_box, box_contains_floats) = creator.finish(context);
|
||||||
acc.contains_floats |= box_contains_floats;
|
*contains_floats |= box_contains_floats;
|
||||||
block_level_box
|
block_level_box
|
||||||
};
|
};
|
||||||
let block_level_boxes = if context.use_rayon {
|
let block_level_boxes = if context.use_rayon {
|
||||||
|
@ -214,13 +209,11 @@ impl BlockContainer {
|
||||||
.block_level_boxes
|
.block_level_boxes
|
||||||
.into_par_iter()
|
.into_par_iter()
|
||||||
.mapfold_reduce_into(
|
.mapfold_reduce_into(
|
||||||
&mut acc,
|
&mut contains_floats,
|
||||||
mapfold,
|
mapfold,
|
||||||
|| Accumulator {
|
|| ContainsFloats::No,
|
||||||
contains_floats: ContainsFloats::No,
|
|
||||||
},
|
|
||||||
|left, right| {
|
|left, right| {
|
||||||
left.contains_floats |= right.contains_floats;
|
*left |= right;
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
.collect()
|
.collect()
|
||||||
|
@ -228,12 +221,11 @@ impl BlockContainer {
|
||||||
builder
|
builder
|
||||||
.block_level_boxes
|
.block_level_boxes
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|x| mapfold(&mut acc, x))
|
.map(|x| mapfold(&mut contains_floats, x))
|
||||||
.collect()
|
.collect()
|
||||||
};
|
};
|
||||||
let container = BlockContainer::BlockLevelBoxes(block_level_boxes);
|
let container = BlockContainer::BlockLevelBoxes(block_level_boxes);
|
||||||
|
|
||||||
let Accumulator { contains_floats } = acc;
|
|
||||||
(container, contains_floats)
|
(container, contains_floats)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue