summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/source/multiple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/source/multiple.rs')
-rw-r--r--src/tools/rustfmt/tests/source/multiple.rs134
1 files changed, 134 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/source/multiple.rs b/src/tools/rustfmt/tests/source/multiple.rs
new file mode 100644
index 000000000..f89f4f68d
--- /dev/null
+++ b/src/tools/rustfmt/tests/source/multiple.rs
@@ -0,0 +1,134 @@
+// rustfmt-normalize_comments: true
+// rustfmt-wrap_comments: true
+// rustfmt-format_strings: true
+// Test of lots of random stuff.
+// FIXME split this into multiple, self-contained tests.
+
+
+#[attr1] extern crate foo;
+#[attr2] #[attr3] extern crate foo;
+#[attr1]extern crate foo;
+#[attr2]#[attr3]extern crate foo;
+
+use std::cell::*;
+use std::{any, ascii, self, borrow, boxed, char, borrow, boxed, char, borrow, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char};
+
+mod doc;
+mod other;
+
+
+// sfdgfffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffff
+
+ fn foo(a: isize,
+ b: u32, /* blah blah */
+ c: f64) {
+
+}
+
+fn foo()->Box<Write+'static> where 'a: 'b, for<'a> D<'b>: 'a {
+ hello!()
+}
+
+fn baz<'a: 'b /* comment on 'a */, T: SomsssssssssssssssssssssssssssssssssssssssssssssssssssssseType /* comment on T */>(a: A, b: B /* comment on b */, c: C) -> Bob {
+ #[attr1] extern crate foo;
+ #[attr2] #[attr3] extern crate foo;
+ #[attr1]extern crate foo;
+ #[attr2]#[attr3]extern crate foo;
+}
+
+#[rustfmt::skip]
+fn qux(a: dadsfa, // Comment 1
+ b: sdfasdfa, // Comment 2
+ c: dsfdsafa) // Comment 3
+{
+
+}
+
+/// Blah blah blah.
+impl Bar {
+ fn foo(&mut self, a: sdfsdfcccccccccccccccccccccccccccccccccccccccccccccccccc, // comment on a
+ b: sdfasdfsdfasfs /*closing comment*/ ) -> isize {}
+
+ /// Blah blah blah.
+ pub fn f2(self) {
+ (foo, bar)
+ }
+
+ #[an_attribute]
+ fn f3(self) -> Dog {
+ }
+}
+
+/// The `nodes` and `edges` method each return instantiations of
+/// `Cow<[T]>` to leave implementers the freedom to create
+
+/// entirely new vectors or to pass back slices into internally owned
+/// vectors.
+pub trait GraphWalk<'a, N, E> {
+ /// Returns all the nodes in this graph.
+ fn nodes(&'a self) -> Nodes<'a, N>;
+ /// Returns all of the edges in this graph.
+ fn edges(&'a self) -> Edges<'a, E>;
+ /// The source node for `edge`.
+ fn source(&'a self, edge: &E) -> N;
+ /// The target node for `edge`.
+ fn target(&'a self, edge: &E) -> N;
+}
+
+/// A Doc comment
+#[AnAttribute]
+pub struct Foo {
+ #[rustfmt::skip]
+ f : SomeType, // Comment beside a field
+ f : SomeType, // Comment beside a field
+ // Comment on a field
+ g: SomeOtherType,
+ /// A doc comment on a field
+ h: AThirdType,}
+
+struct Bar;
+
+// With a where-clause and generics.
+pub struct Foo<'a, Y: Baz>
+ where X: Whatever
+{
+ f: SomeType, // Comment beside a field
+}
+
+fn foo(ann: &'a (PpAnn+'a)) {}
+
+fn main() {
+ for i in 0i32..4 {
+ println!("{}", i);
+ }
+
+
+ while true {
+ hello();
+ }
+
+ let rc = Cell::new(42usize,42usize, Cell::new(42usize, remaining_widthremaining_widthremaining_widthremaining_width), 42usize);
+ let rc = RefCell::new(42usize,remaining_width, remaining_width); // a comment
+ let x = "Hello!!!!!!!!! abcd abcd abcd abcd abcd abcd\n abcd abcd abcd abcd abcd abcd abcd abcd abcd \
+ abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd \
+ abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd";
+ let s = expand(a
+ ,
+ b); }
+
+fn deconstruct() -> (SocketAddr, Method, Headers,
+ RequestUri, HttpVersion,
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) {
+}
+
+fn deconstruct(foo: Bar) -> (SocketAddr, Method, Headers,
+ RequestUri, HttpVersion,
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) {
+}
+
+#[rustfmt::skip]
+mod a{
+fn foo(x: T) {
+ let x: T = dfasdf;
+}
+}