]> git.lizzy.rs Git - rust.git/blob - tests/target/issue-510.rs
Merge pull request #681 from rust-lang-nursery/comment-style
[rust.git] / tests / target / issue-510.rs
1 impl ISizeAndMarginsComputer for AbsoluteNonReplaced {
2     fn solve_inline_size_constraints(&self,
3                                      block: &mut BlockFlow,
4                                      input: &ISizeConstraintInput)
5                                      -> ISizeConstraintSolution {
6
7         let (inline_start,
8              inline_size,
9              margin_inline_start,
10              margin_inline_end) = match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
11                                          inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
12             (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
13                 let margin_start = inline_start_margin.specified_or_zero();
14                 let margin_end = inline_end_margin.specified_or_zero();
15                 // Now it is the same situation as inline-start Specified and inline-end
16                 // and inline-size Auto.
17                 //
18                 // Set inline-end to zero to calculate inline-size.
19                 let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
20                                                                       (margin_start + margin_end));
21                 (Au(0), inline_size, margin_start, margin_end)
22             }
23         };
24
25         // FIXME(#501): tuple width heuristic may not be optimal for patterns.
26         let (inline_start,
27              inline_size,
28              margin_inline_start,
29              margin_inline_end) = match (inline_start, inline_end, computed_inline_size) {
30             (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
31                 let margin_start = inline_start_margin.specified_or_zero();
32                 let margin_end = inline_end_margin.specified_or_zero();
33                 // Now it is the same situation as inline-start Specified and inline-end
34                 // and inline-size Auto.
35                 //
36                 // Set inline-end to zero to calculate inline-size.
37                 let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
38                                                                       (margin_start + margin_end));
39                 (Au(0), inline_size, margin_start, margin_end)
40             }
41         };
42     }
43 }