mem::replace μ νλ Servo λΆκΈ°κ° μμ΅λλ€. mem::replace μ νμ println!("{:?}", self.pending_line)
λ₯Ό μΆκ°νλ©΄ λ°μ€ν¬νμμλ κ°μ΄ μμλλ‘ μ
λ°μ΄νΈλμ§λ§ Androidμμλ μλ κ°μ΄ κ·Έλλ‘ μ μ§λ©λλ€.
λμ λ€μ μ€ νλλ₯Ό μ¬μ©ν λ:
self.pending_line = Line::new(self.floats.writing_mode, &self.minimum_metrics);
λλ
let mut new_line = Line::new(self.floats.writing_mode, &self.minimum_metrics);
mem::swap(&mut self.pending_line, &mut new_line);
κ·Έλ¬λ©΄ self.pending
κ° μμλλ‘ μ
λ°μ΄νΈλκ³ Androidμμ Servoκ° μΆ©λνμ§ μμ΅λλ€.
λ€μλ μλν©λλ€.
mem::replace(&mut self.pending_line,
Line::new(self.floats.writing_mode, &self.minimum_metrics));
mem::replace(&mut self.pending_line,
Line::new(self.floats.writing_mode, &self.minimum_metrics));
(μ, λμΌν μμ μ λ λ² μν)
ν , κ·Έ μ νμ΄ κ½€ ν° κ² κ°μμ(https://github.com/jdm/servo/blob/layoutstuff/components/layout/inline.rs#L221-L245) μ€μ(https //github.com/rust-lang/rust/blob/master/src/libcore/ptr.rs#L194-L227) νμ¬ λ€λ₯Έ νλ«νΌμμλ λΉνμ±νλμ΄ μμΌλ―λ‘ λ²κ·Έκ° μ΄λκ°μ μλμ§ κΆκΈν©λλ€.
λΆλ₯: μ΄κ²μ΄ μ¬μ ν λ¬Έμ μΈμ§ νμ€νμ§ μμ΅λλ€.
μ λ°μ΄νΈλ libcore SIMD μ½λ:
κ°μ₯ μ μ©ν λκΈ
λ€μλ μλν©λλ€.
(μ, λμΌν μμ μ λ λ² μν)