mirror of
https://github.com/servo/servo.git
synced 2025-07-01 04:23:39 +01:00
This more concrete wrapper type can write a prefix the very first time something is written to it. This allows removing plenty of useless monomorphisations caused by the former W/SequenceWriter<W> pair of types.
27 lines
693 B
Rust
27 lines
693 B
Rust
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
use style_traits::{CssWriter, ToCss};
|
|
use values::specified::{BorderStyle, Color};
|
|
use std::fmt::{self, Write};
|
|
|
|
fn serialize_directional_border<W, I,>(
|
|
dest: &mut CssWriter<W>,
|
|
width: &I,
|
|
style: &BorderStyle,
|
|
color: &Color,
|
|
) -> fmt::Result
|
|
where
|
|
W: Write,
|
|
I: ToCss,
|
|
{
|
|
width.to_css(dest)?;
|
|
dest.write_str(" ")?;
|
|
style.to_css(dest)?;
|
|
if *color != Color::CurrentColor {
|
|
dest.write_str(" ")?;
|
|
color.to_css(dest)?;
|
|
}
|
|
Ok(())
|
|
}
|