| // rustfmt-normalize_comments: true |
| // rustfmt-format_macro_matchers: true |
| itemmacro!(this, is.now() .formatted(yay)); |
| |
| itemmacro!(really, long.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbb() .is.formatted()); |
| |
| itemmacro!{this, is.brace().formatted()} |
| |
| fn main() { |
| foo! ( ); |
| |
| foo!(,); |
| |
| bar!( a , b , c ); |
| |
| bar!( a , b , c , ); |
| |
| baz!(1+2+3, quux. kaas()); |
| |
| quux!(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB); |
| |
| kaas!(/* comments */ a /* post macro */, b /* another */); |
| |
| trailingcomma!( a , b , c , ); |
| // Preserve trailing comma only when necessary. |
| ok!(file.seek( |
| SeekFrom::Start( |
| table.map(|table| fixture.offset(table)).unwrap_or(0), |
| ) |
| )); |
| |
| noexpr!( i am not an expression, OK? ); |
| |
| vec! [ a , b , c]; |
| |
| vec! [AAAAAA, AAAAAA, AAAAAA, AAAAAA, AAAAAA, AAAAAA, AAAAAA, AAAAAA, AAAAAA, |
| BBBBB, 5, 100-30, 1.33, b, b, b]; |
| |
| vec! [a /* comment */]; |
| |
| // Trailing spaces after a comma |
| vec![ |
| a, |
| ]; |
| |
| vec![a; b]; |
| vec!(a; b); |
| vec!{a; b}; |
| |
| vec![a, b; c]; |
| vec![a; b, c]; |
| |
| vec![a; (|x| { let y = x + 1; let z = y + 1; z })(2)]; |
| vec![a; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]; |
| vec![a; unsafe { |
| x + 1 |
| }]; |
| |
| unknown_bracket_macro__comma_should_not_be_stripped![ |
| a, |
| ]; |
| |
| foo(makro!(1, 3)); |
| |
| hamkaas!{ () }; |
| |
| macrowithbraces! {dont, format, me} |
| |
| x!(fn); |
| |
| some_macro!( |
| |
| ); |
| |
| some_macro![ |
| ]; |
| |
| some_macro!{ |
| // comment |
| }; |
| |
| some_macro!{ |
| // comment |
| }; |
| |
| some_macro!( |
| // comment |
| not function like |
| ); |
| |
| // #1712 |
| let image = gray_image!( |
| 00, 01, 02; |
| 10, 11, 12; |
| 20, 21, 22); |
| |
| // #1092 |
| chain!(input, a:take!(max_size), || []); |
| |
| // #2727 |
| foo!("bar") |
| ; |
| } |
| |
| impl X { |
| empty_invoc!{} |
| empty_invoc! {} |
| } |
| |
| fn issue_1279() { |
| println!("dsfs"); // a comment |
| } |
| |
| fn issue_1555() { |
| let hello = &format!("HTTP/1.1 200 OK\r\nServer: {}\r\n\r\n{}", |
| "65454654654654654654654655464", |
| "4"); |
| } |
| |
| fn issue1178() { |
| macro_rules! foo { |
| (#[$attr:meta] $name:ident) => {} |
| } |
| |
| foo!(#[doc = "bar"] baz); |
| } |
| |
| fn issue1739() { |
| sql_function!(add_rss_item, |
| add_rss_item_t, |
| (a: types::Integer, |
| b: types::Timestamptz, |
| c: types::Text, |
| d: types::Text, |
| e: types::Text)); |
| |
| w.slice_mut(s![.., init_size[1] - extreeeeeeeeeeeeeeeeeeeeeeeem..init_size[1], ..]) |
| .par_map_inplace(|el| *el = 0.); |
| } |
| |
| fn issue_1885() { |
| let threads = people.into_iter().map(|name| { |
| chan_select! { |
| rx.recv() => {} |
| } |
| }).collect::<Vec<_>>(); |
| } |
| |
| fn issue_1917() { |
| mod x { |
| quickcheck! { |
| fn test(a: String, s: String, b: String) -> TestResult { |
| if a.find(&s).is_none() { |
| |
| TestResult::from_bool(true) |
| } else { |
| TestResult::discard() |
| } |
| } |
| } |
| } |
| } |
| |
| fn issue_1921() { |
| // Macro with tabs. |
| lazy_static! { |
| static ref ONE: u32 = 1; |
| static ref TWO: u32 = 2; |
| static ref THREE: u32 = 3; |
| static ref FOUR: u32 = { |
| let mut acc = 1; |
| acc += 1; |
| acc += 2; |
| acc |
| } |
| } |
| } |
| |
| // #1577 |
| fn issue1577() { |
| let json = json!({ |
| "foo": "bar", |
| }); |
| } |
| |
| // #3174 |
| fn issue_3174() { |
| let data = |
| if let Some(debug) = error.debug_info() { |
| json!({ |
| "errorKind": format!("{:?}", error.err_kind()), |
| "debugMessage": debug.message, |
| }) |
| } else { |
| json!({"errorKind": format!("{:?}", error.err_kind())}) |
| }; |
| } |
| |
| gfx_pipeline!(pipe { |
| vbuf: gfx::VertexBuffer<Vertex> = (), |
| out: gfx::RenderTarget<ColorFormat> = "Target0", |
| }); |
| |
| // #1919 |
| #[test] |
| fn __bindgen_test_layout_HandleWithDtor_open0_int_close0_instantiation() { |
| assert_eq!( |
| ::std::mem::size_of::<HandleWithDtor<::std::os::raw::c_int>>(), |
| 8usize, |
| concat!( |
| "Size of template specialization: ", |
| stringify ! ( HandleWithDtor < :: std :: os :: raw :: c_int > ) |
| ) |
| ); |
| assert_eq ! ( :: std :: mem :: align_of :: < HandleWithDtor < :: std :: os :: raw :: c_int > > ( ) , 8usize , concat ! ( "Alignment of template specialization: " , stringify ! ( HandleWithDtor < :: std :: os :: raw :: c_int > ) ) ); |
| } |
| |
| // #878 |
| macro_rules! try_opt { |
| ($expr:expr) => (match $expr { |
| Some(val) => val, |
| |
| None => { return None; } |
| }) |
| } |
| |
| // #2214 |
| // macro call whose argument is an array with trailing comma. |
| fn issue2214() { |
| make_test!(str_searcher_ascii_haystack, "bb", "abbcbbd", [ |
| Reject(0, 1), |
| Match (1, 3), |
| Reject(3, 4), |
| Match (4, 6), |
| Reject(6, 7), |
| ]); |
| } |
| |
| fn special_case_macros() { |
| let p = eprint!(); |
| let q = eprint!("{}", 1); |
| let r = eprint!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = eprint!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = eprintln!("{}", 1); |
| let r = eprintln!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = eprintln!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = format!("{}", 1); |
| let r = format!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = format!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = format_args!("{}", 1); |
| let r = format_args!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = format_args!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = print!("{}", 1); |
| let r = print!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = print!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = println!("{}", 1); |
| let r = println!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = println!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| let q = unreachable!("{}", 1); |
| let r = unreachable!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| let s = unreachable!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| debug!("{}", 1); |
| debug!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| debug!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| error!("{}", 1); |
| error!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| error!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| info!("{}", 1); |
| info!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| info!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| panic!("{}", 1); |
| panic!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| panic!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| warn!("{}", 1); |
| warn!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
| warn!("{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| assert!(); |
| assert!(result == 42); |
| assert!(result == 42, "Ahoy there, {}!", target); |
| assert!(result == 42, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| assert!(result == 42, "{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| assert_eq!(); |
| assert_eq!(left); |
| assert_eq!(left, right); |
| assert_eq!(left, right, "Ahoy there, {}!", target); |
| assert_eq!(left, right, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| assert_eq!(first_realllllllllllly_long_variable_that_doesnt_fit_one_one_line, second_reallllllllllly_long_variable_that_doesnt_fit_one_one_line, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| assert_eq!(left + 42, right, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| assert_eq!(left, right, "{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| write!(&mut s, "Ahoy there, {}!", target); |
| write!(&mut s, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| write!(&mut s, "{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| |
| writeln!(&mut s, "Ahoy there, {}!", target); |
| writeln!(&mut s, "Arr! While plunderin' the hold, we got '{}' when given '{}' (we expected '{}')", result, input, expected); |
| writeln!(&mut s, "{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}{}", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); |
| } |
| |
| // #1209 |
| impl Foo { |
| /// foo |
| pub fn foo(&self) -> Bar<foo!( )> {} |
| } |
| |
| // #819 |
| fn macro_in_pattern_position () { |
| let x = match y { |
| foo!( ) => (), |
| bar!( a, b, |
| c) => (), |
| bar!(a |
| , b |
| , c |
| ,) => (), |
| baz!( 1 + 2 + 3, quux.kaas( ) |
| ) => (), |
| quux!(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB) => (), |
| }; |
| } |
| |
| macro foo() { |
| |
| |
| } |
| |
| pub macro bar($x:ident+$y:expr; ) { |
| fn foo($x: Foo) { |
| long_function(a_long_argument_to_a_long_function_is_what_this_is(AAAAAAAAAAAAAAAAAAAAAAAAAAAA), |
| $x.bar($y)); |
| } |
| } |
| |
| macro foo() { |
| // a comment |
| fn foo() { |
| // another comment |
| bar(); |
| } |
| } |
| |
| // #2574 |
| macro_rules! test { |
| () => {{}} |
| } |
| |
| macro lex_err($kind: ident $(, $body: expr)*) { |
| Err(QlError::LexError(LexError::$kind($($body,)*))) |
| } |
| |
| // Preserve trailing comma on item-level macro with `()` or `[]`. |
| methods![ get, post, delete, ]; |
| methods!( get, post, delete, ); |
| |
| // #2588 |
| macro_rules! m { |
| () => { |
| r#" |
| test |
| "# |
| }; |
| } |
| fn foo() { |
| f!{r#" |
| test |
| "#}; |
| } |
| |
| // #2591 |
| fn foo() { |
| match 0u32 { |
| 0 => (), |
| _ => unreachable!(/* obviously */), |
| } |
| } |
| |
| fn foo() { |
| let _ = column!(/* here */); |
| } |
| |
| // #2616 |
| // Preserve trailing comma when using mixed layout for macro call. |
| fn foo() { |
| foo!(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); |
| foo!(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,); |
| } |
| |
| // #2830 |
| // Preserve trailing comma-less/ness inside nested macro. |
| named!( |
| do_parse_gsv<GsvData>, |
| map_res!( |
| do_parse!( |
| number_of_sentences: map_res!(digit, parse_num::<u16>) |
| >> char!(',') |
| >> sentence_index: map_res!(digit, parse_num::<u16>) |
| >> char!(',') |
| >> total_number_of_sats: map_res!(digit, parse_num::<u16>) |
| >> char!(',') |
| >> sat0: opt!(complete!(parse_gsv_sat_info)) |
| >> sat1: opt!(complete!(parse_gsv_sat_info)) |
| >> sat2: opt!(complete!(parse_gsv_sat_info)) |
| >> sat3: opt!(complete!(parse_gsv_sat_info)) |
| >> ( |
| number_of_sentences, |
| sentence_index, |
| total_number_of_sats, |
| sat0, |
| sat1, |
| sat2, |
| sat3 |
| ) |
| ), |
| construct_gsv_data |
| ) |
| ); |
| |
| // #2857 |
| convert_args!(vec!(1, 2, 3)); |
| |
| // #3031 |
| thread_local!( |
| /// TLV Holds a set of JSTraceables that need to be rooted |
| static ROOTED_TRACEABLES: RefCell<RootedTraceableSet> = |
| RefCell::new(RootedTraceableSet::new()) ; |
| ) ; |
| |
| thread_local![ |
| /// TLV Holds a set of JSTraceables that need to be rooted |
| static ROOTED_TRACEABLES: RefCell<RootedTraceableSet> = |
| RefCell::new(RootedTraceableSet::new()) ; |
| |
| /// TLV Holds a set of JSTraceables that need to be rooted |
| static ROOTED_TRACEABLES: RefCell<RootedTraceableSet> = |
| RefCell::new(RootedTraceableSet::new(0)) ; |
| |
| /// TLV Holds a set of JSTraceables that need to be rooted |
| static ROOTED_TRACEABLES: RefCell<RootedTraceableSet> = |
| RefCell::new(RootedTraceableSet::new(), xxx, yyy) ; |
| |
| /// TLV Holds a set of JSTraceables that need to be rooted |
| static ROOTED_TRACEABLES: RefCell<RootedTraceableSet> = |
| RefCell::new(RootedTraceableSet::new(1234)) ; |
| |
| ] ; |
| |
| fn issue3004() { |
| foo!(|_| { ( ) }); |
| stringify!(( foo+ )); |
| } |
| |
| // #3331 |
| pub fn fold_abi<V: Fold + ?Sized>(_visitor: &mut V, _i: Abi) -> Abi { |
| Abi { |
| extern_token: Token ! [ extern ](tokens_helper(_visitor, &_i.extern_token.span)), |
| name: (_i.name).map(|it| _visitor.fold_lit_str(it)), |
| } |
| } |
| |
| // #3463 |
| x ! {()} |
| |
| // #3746 |
| f!(match a { |
| 4 => |
| &[ |
| (3, false), // Missing |
| (4, true) // I-frame |
| ] [..], |
| }); |
| |
| // #3583 |
| foo!(|x = y|); |