]> git.lizzy.rs Git - rust.git/blob - tests/target/multiple.rs
7d6513f70b72f00d52fd2aa33abfd914d507a7d2
[rust.git] / tests / target / multiple.rs
1 // Test of lots of random stuff.
2 // FIXME split this into multiple, self-contained tests.
3
4
5 #[attr1]
6 extern crate foo;
7 #[attr2]
8 #[attr3]
9 extern crate foo;
10 #[attr1]
11 extern crate foo;
12 #[attr2]
13 #[attr3]
14 extern crate foo;
15
16 use std::cell::*;
17 use std::{self, any, ascii, borrow, boxed, char, borrow, boxed, char, borrow, borrow, boxed, char,
18           borrow, boxed, char, borrow, boxed, char, borrow, boxed, char, borrow, boxed, char,
19           borrow, boxed, char, borrow, boxed, char, borrow, boxed, char};
20
21 mod doc;
22 mod other;
23
24
25 // sfdgfffffffffffffffffffffffffffffffffffffffffffffffffffffff
26 // ffffffffffffffffffffffffffffffffffffffffff
27
28 fn foo(a: isize, b: u32 /* blah blah */, c: f64) {
29
30 }
31
32 fn foo() -> Box<Write + 'static>
33     where 'a: 'b,
34           for<'a> D<'b>: 'a
35 {
36     hello!()
37 }
38
39 fn baz<'a: 'b, // comment on 'a
40        T: SomsssssssssssssssssssssssssssssssssssssssssssssssssssssseType /* comment on T */>
41     (a: A,
42      b: B, // comment on b
43      c: C)
44      -> Bob {
45     #[attr1]
46     extern crate foo;
47     #[attr2]
48     #[attr3]
49     extern crate foo;
50     #[attr1]
51     extern crate foo;
52     #[attr2]
53     #[attr3]
54     extern crate foo;
55 }
56
57 #[rustfmt_skip]
58 fn qux(a: dadsfa,   // Comment 1
59        b: sdfasdfa, // Comment 2
60        c: dsfdsafa) // Comment 3
61 {
62
63 }
64
65 /// Blah blah blah.
66 impl Bar {
67     fn foo(&mut self,
68            a: sdfsdfcccccccccccccccccccccccccccccccccccccccccccccccccc, // comment on a
69            b: sdfasdfsdfasfs /* closing comment */)
70            -> isize {
71     }
72
73     /// Blah blah blah.
74     pub fn f2(self) {
75         (foo, bar)
76     }
77
78     #[an_attribute]
79     fn f3(self) -> Dog {
80     }
81 }
82
83 /// The `nodes` and `edges` method each return instantiations of
84 /// `Cow<[T]>` to leave implementers the freedom to create
85
86 /// entirely new vectors or to pass back slices into internally owned
87 /// vectors.
88 pub trait GraphWalk<'a, N, E> {
89     /// Returns all the nodes in this graph.
90     fn nodes(&'a self) -> Nodes<'a, N>;
91     /// Returns all of the edges in this graph.
92     fn edges(&'a self) -> Edges<'a, E>;
93     /// The source node for `edge`.
94     fn source(&'a self, edge: &E) -> N;
95     /// The target node for `edge`.
96     fn target(&'a self, edge: &E) -> N;
97 }
98
99 /// A Doc comment
100 #[AnAttribute]
101 pub struct Foo {
102     #[rustfmt_skip]
103     f :   SomeType, // Comment beside a field
104     f: SomeType, // Comment beside a field
105     // Comment on a field
106     g: SomeOtherType,
107     /// A doc comment on a field
108     h: AThirdType,
109 }
110
111 struct Bar;
112
113 // With a where clause and generics.
114 pub struct Foo<'a, Y: Baz>
115     where X: Whatever
116 {
117     f: SomeType, // Comment beside a field
118 }
119
120 fn foo(ann: &'a (PpAnn + 'a)) {
121 }
122
123 fn main() {
124     for i in 0i32..4 {
125         println!("{}", i);
126     }
127
128
129     while true {
130         hello();
131     }
132
133     let rc = Cell::new(42usize,
134                        42usize,
135                        Cell::new(42usize,
136                                  remaining_widthremaining_widthremaining_widthremaining_width),
137                        42usize);
138     let rc = RefCell::new(42usize, remaining_width, remaining_width);  // a comment
139     let x = "Hello!!!!!!!!! abcd  abcd abcd abcd abcd abcd\n abcd abcd abcd abcd abcd abcd abcd \
140              abcd abcd abcd  abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd \
141              abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd \
142              abcd abcd";
143     let s = expand(a, b);
144 }
145
146 fn deconstruct()
147     -> (SocketAddr,
148         Method,
149         Headers,
150         RequestUri,
151         HttpVersion,
152         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA)
153 {
154 }
155
156 fn deconstruct(foo: Bar)
157                -> (SocketAddr,
158                    Method,
159                    Headers,
160                    RequestUri,
161                    HttpVersion,
162                    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) {
163 }