2015-06-10 21:36:31 -05:00
// 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 ( ) 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 {
2015-06-23 08:58:58 -05:00
fn foo ( & mut self , a : sdfsdfcccccccccccccccccccccccccccccccccccccccccccccccccc , // comment on a
2015-06-10 21:36:31 -05:00
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 main ( ) {
for i in 0 i32 .. 4 {
println! ( " {} " , i ) ;
}
while true {
hello ( ) ;
}
let rc = Cell ::new ( 42 usize , 42 usize , Cell ::new ( 42 usize , remaining_widthremaining_widthremaining_widthremaining_width ) , 42 usize ) ;
let rc = RefCell ::new ( 42 usize , 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 " ; }
fn struct_lits ( ) {
let x = Bar ;
// Comment
let y = Foo { a : x } ;
Foo { a : foo ( ) /* comment */ , /* comment */ b : bar ( ) , .. something } ;
Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo { a : foo ( ) , b : bar ( ) , } ;
Fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo {
// Comment
a : foo ( ) , // Comment
// Comment
b : bar ( ) , // Comment
} ;
Foo { a : Bar ,
b : foo ( ) } ;
}