summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/issue-510.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/issue-510.rs')
-rw-r--r--src/tools/rustfmt/tests/target/issue-510.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/issue-510.rs b/src/tools/rustfmt/tests/target/issue-510.rs
new file mode 100644
index 000000000..a166b6849
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/issue-510.rs
@@ -0,0 +1,41 @@
+impl ISizeAndMarginsComputer for AbsoluteNonReplaced {
+ fn solve_inline_size_constraints(
+ &self,
+ block: &mut BlockFlow,
+ input: &ISizeConstraintInput,
+ ) -> ISizeConstraintSolution {
+ let (inline_start, inline_size, margin_inline_start, margin_inline_end) = match (
+ inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
+ inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
+ ) {
+ (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
+ let margin_start = inline_start_margin.specified_or_zero();
+ let margin_end = inline_end_margin.specified_or_zero();
+ // Now it is the same situation as inline-start Specified and inline-end
+ // and inline-size Auto.
+ //
+ // Set inline-end to zero to calculate inline-size.
+ let inline_size = block.get_shrink_to_fit_inline_size(
+ available_inline_size - (margin_start + margin_end),
+ );
+ (Au(0), inline_size, margin_start, margin_end)
+ }
+ };
+
+ let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
+ match (inline_start, inline_end, computed_inline_size) {
+ (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
+ let margin_start = inline_start_margin.specified_or_zero();
+ let margin_end = inline_end_margin.specified_or_zero();
+ // Now it is the same situation as inline-start Specified and inline-end
+ // and inline-size Auto.
+ //
+ // Set inline-end to zero to calculate inline-size.
+ let inline_size = block.get_shrink_to_fit_inline_size(
+ available_inline_size - (margin_start + margin_end),
+ );
+ (Au(0), inline_size, margin_start, margin_end)
+ }
+ };
+ }
+}