]> git.lizzy.rs Git - rust.git/commitdiff
Check length of break and continue expressions
authorMarcus Klaas <mail@marcusklaas.nl>
Fri, 15 Apr 2016 16:11:20 +0000 (18:11 +0200)
committerMarcus Klaas <mail@marcusklaas.nl>
Fri, 15 Apr 2016 16:11:29 +0000 (18:11 +0200)
src/expr.rs
tests/source/issue-855.rs [new file with mode: 0644]
tests/target/issue-855.rs [new file with mode: 0644]

index a88e7ee6d19cc36b98beb9cf311dcb6e0ad00556..057a0ef10564773118a4241012471913f5da1df5 100644 (file)
@@ -137,14 +137,14 @@ fn rewrite(&self, context: &RewriteContext, width: usize, offset: Indent) -> Opt
                     Some(ident) => format!(" {}", ident.node),
                     None => String::new(),
                 };
-                Some(format!("continue{}", id_str))
+                wrap_str(format!("continue{}", id_str), context.config.max_width, width, offset)
             }
             ast::ExprKind::Break(ref opt_ident) => {
                 let id_str = match *opt_ident {
                     Some(ident) => format!(" {}", ident.node),
                     None => String::new(),
                 };
-                Some(format!("break{}", id_str))
+                wrap_str(format!("break{}", id_str), context.config.max_width, width, offset)
             }
             ast::ExprKind::Closure(capture, ref fn_decl, ref body) => {
                 rewrite_closure(capture, fn_decl, body, self.span, context, width, offset)
diff --git a/tests/source/issue-855.rs b/tests/source/issue-855.rs
new file mode 100644 (file)
index 0000000..8f33fa6
--- /dev/null
@@ -0,0 +1,20 @@
+fn main() {
+    'running: loop {
+        for event in event_pump.poll_iter() {
+            match event {
+                Event::Quit {..} | Event::KeyDown { keycode: Some(Keycode::Escape), .. } => break 'running,
+            }
+        }
+    }
+}
+
+fn main2() {
+    'running: loop {
+        for event in event_pump.poll_iter() {
+            match event {
+                Event::Quit {..} |
+                Event::KeyDownXXXXXXXXXXXXX { keycode: Some(Keycode::Escape), .. } => break 'running,
+            }
+        }
+    }
+}
diff --git a/tests/target/issue-855.rs b/tests/target/issue-855.rs
new file mode 100644 (file)
index 0000000..3add337
--- /dev/null
@@ -0,0 +1,23 @@
+fn main() {
+    'running: loop {
+        for event in event_pump.poll_iter() {
+            match event {
+                Event::Quit { .. } |
+                Event::KeyDown { keycode: Some(Keycode::Escape), .. } => break 'running,
+            }
+        }
+    }
+}
+
+fn main2() {
+    'running: loop {
+        for event in event_pump.poll_iter() {
+            match event {
+                Event::Quit { .. } |
+                Event::KeyDownXXXXXXXXXXXXX { keycode: Some(Keycode::Escape), .. } => {
+                    break 'running
+                }
+            }
+        }
+    }
+}