146 lines
2.9 KiB
Rust
146 lines
2.9 KiB
Rust
// rustfmt-spaces_within_parens_and_brackets: true
|
|
// Spaces within parens and brackets
|
|
|
|
fn lorem< T: Eq >( t: T ) {
|
|
let lorem = ( ipsum, dolor );
|
|
let lorem: [ usize; 2 ] = [ ipsum, dolor ];
|
|
}
|
|
|
|
enum E {
|
|
A( u32 ),
|
|
B( u32, u32 ),
|
|
C( u32, u32, u32 ),
|
|
D(),
|
|
}
|
|
|
|
struct TupleStruct0();
|
|
struct TupleStruct1( u32 );
|
|
struct TupleStruct2( u32, u32 );
|
|
|
|
fn fooEmpty() {}
|
|
|
|
fn foo( e: E, _: u32 ) -> ( u32, u32 ) {
|
|
// Tuples
|
|
let t1 = ();
|
|
let t2 = ( 1, );
|
|
let t3 = ( 1, 2 );
|
|
|
|
let ts0 = TupleStruct0();
|
|
let ts1 = TupleStruct1( 1 );
|
|
let ts2 = TupleStruct2( 1, 2 );
|
|
|
|
// Tuple pattern
|
|
let ( a, b, c ) = ( 1, 2, 3 );
|
|
|
|
// Expressions
|
|
let x = ( 1 + 2 ) * ( 3 );
|
|
|
|
// Function call
|
|
fooEmpty();
|
|
foo( 1, 2 );
|
|
|
|
// Pattern matching
|
|
match e {
|
|
A( _ ) => (),
|
|
B( _, _ ) => (),
|
|
C( .. ) => (),
|
|
D => (),
|
|
}
|
|
|
|
( 1, 2 )
|
|
}
|
|
|
|
struct Foo< T > {
|
|
i: T,
|
|
}
|
|
|
|
struct Bar< T, E > {
|
|
i: T,
|
|
e: E,
|
|
}
|
|
|
|
struct Foo< 'a > {
|
|
i: &'a str,
|
|
}
|
|
|
|
enum E< T > {
|
|
T( T ),
|
|
}
|
|
|
|
enum E< T, S > {
|
|
T( T ),
|
|
S( S ),
|
|
}
|
|
|
|
fn foo< T >( a: T ) {
|
|
foo::< u32 >( 10 );
|
|
}
|
|
|
|
fn foo< T, E >( a: T, b: E ) {
|
|
foo::< u32, str >( 10, "bar" );
|
|
}
|
|
|
|
fn foo< T: Send, E: Send >( a: T, b: E ) {
|
|
foo::< u32, str >( 10, "bar" );
|
|
|
|
let opt: Option< u32 >;
|
|
let res: Result< u32, String >;
|
|
}
|
|
|
|
fn foo< 'a >( a: &'a str ) {
|
|
foo( "foo" );
|
|
}
|
|
|
|
fn foo< 'a, 'b >( a: &'a str, b: &'b str ) {
|
|
foo( "foo", "bar" );
|
|
}
|
|
|
|
impl Foo {
|
|
fn bar() {
|
|
< Foo as Foo >::bar();
|
|
}
|
|
}
|
|
|
|
trait MyTrait< A, D > {}
|
|
impl< A: Send, D: Send > MyTrait< A, D > for Foo {}
|
|
|
|
fn foo()
|
|
where
|
|
for< 'a > u32: 'a,
|
|
{
|
|
}
|
|
|
|
fn main() {
|
|
let arr: [ i32; 5 ] = [ 1, 2, 3, 4, 5 ];
|
|
let arr: [ i32; 500 ] = [ 0; 500 ];
|
|
|
|
let v = vec![ 1, 2, 3 ];
|
|
assert_eq!( arr, [ 1, 2, 3 ] );
|
|
|
|
let i = arr[ 0 ];
|
|
|
|
let slice = &arr[ 1..2 ];
|
|
|
|
let line100_________________________________________________________________________ = [ 1, 2 ];
|
|
let line101__________________________________________________________________________ =
|
|
[ 1, 2 ];
|
|
let line102___________________________________________________________________________ =
|
|
[ 1, 2 ];
|
|
let line103____________________________________________________________________________ =
|
|
[ 1, 2 ];
|
|
let line104_____________________________________________________________________________ =
|
|
[ 1, 2 ];
|
|
|
|
let line100_____________________________________________________________________ = vec![ 1, 2 ];
|
|
let line101______________________________________________________________________ =
|
|
vec![ 1, 2 ];
|
|
let line102_______________________________________________________________________ =
|
|
vec![ 1, 2 ];
|
|
let line103________________________________________________________________________ =
|
|
vec![ 1, 2 ];
|
|
let line104_________________________________________________________________________ =
|
|
vec![ 1, 2 ];
|
|
}
|
|
|
|
fn f( slice: &[ i32 ] ) {}
|