about summary refs log tree commit diff
path: root/compiler/rustc_ast_pretty/src/pprust
AgeCommit message (Collapse)AuthorLines
2023-08-17Add helpful comments to `tt_prepend_space`.Nicholas Nethercote-0/+11
2023-08-04Improve spans for indexing expressionsNilstrieb-1/+1
Indexing is similar to method calls in having an arbitrary left-hand-side and then something on the right, which is the main part of the expression. Method calls already have a span for that right part, but indexing does not. This means that long method chains that use indexing have really bad spans, especially when the indexing panics and that span in coverted into a panic location. This does the same thing as method calls for the AST and HIR, storing an extra span which is then put into the `fn_span` field in THIR.
2023-08-03Remove `MacDelimiter`.Nicholas Nethercote-3/+3
It's the same as `Delimiter`, minus the `Invisible` variant. I'm generally in favour of using types to make impossible states unrepresentable, but this one feels very low-value, and the conversions between the two types are annoying and confusing. Look at the change in `src/tools/rustfmt/src/expr.rs` for an example: the old code converted from `MacDelimiter` to `Delimiter` and back again, for no good reason. This suggests the author was confused about the types.
2023-07-28Parse generic const itemsLeón Orell Valerian Liehr-9/+26
2023-07-23more clippy::style fixes:Matthias Krüger-4/+4
get_first single_char_add_str unnecessary_mut_passed manual_map manual_is_ascii_check
2023-06-19Syntatically accept `become` expressionsMaybe Waffle-0/+5
2023-06-15Fix suggestion for E0404 not dealing with multiple generics许杰友 Jieyou Xu (Joe)-13/+26
2023-05-05Migrate offset_of from a macro to builtin # syntaxest31-2/+1
2023-05-05Rollup merge of #108801 - fee1-dead-contrib:c-str, r=compiler-errorsDylan DPC-0/+4
Implement RFC 3348, `c"foo"` literals RFC: https://github.com/rust-lang/rfcs/pull/3348 Tracking issue: #105723
2023-05-02Implement negative boundsMichael Goulet-0/+7
2023-05-02fix TODO commentsDeadbeef-2/+4
2023-05-02initial step towards implementing C string literalsDeadbeef-0/+2
2023-05-01Rip it outNilstrieb-3/+9
My type ascription Oh rip it out Ah If you think we live too much then You can sacrifice diagnostics Don't mix your garbage Into my syntax So many weird hacks keep diagnostics alive Yet I don't even step outside So many bad diagnostics keep tyasc alive Yet tyasc doesn't even bother to survive!
2023-05-01Rollup merge of #111037 - Nilstrieb:close-the-offsetof, r=compiler-errorsMatthias Krüger-1/+1
Close parentheses for `offset_of` in AST pretty printing HIR pretty printing already handles it correctly. This will conflict with #110694 but it seems like that PR is gonna take bit more time.
2023-04-30Close parentheses for `offset_of` in AST pretty printingNilstrieb-1/+1
HIR pretty printing already handles it correctly.
2023-04-27Tweak await spanMichael Goulet-1/+1
2023-04-21minor tweaksDrMeepster-7/+6
2023-04-21offset_ofDrMeepster-0/+21
2023-04-10Remove `..` from return type notationMichael Goulet-4/+0
2023-04-09Remove identity castsNilstrieb-1/+1
2023-04-09Fix some clippy::complexityNilstrieb-1/+3
2023-04-04Rename `ast::Static` to `ast::StaticItem` to match `ast::ConstItem`Oli Scherer-2/+2
2023-04-04box a bunch of large typesOli Scherer-3/+3
2023-04-04Split out ast::ItemKind::Const into its own structOli Scherer-4/+11
2023-04-04rust-analyzer guided tuple field to named fieldOli Scherer-1/+1
2023-04-04rust-analyzer guided enum variant structificationOli Scherer-1/+2
2023-03-28Add `(..)` syntax for RTNMichael Goulet-0/+4
2023-03-19Remove the `NodeId` of `ast::ExprKind::Async`Arpad Borsos-1/+1
2023-03-12Remove `box_syntax` from AST and use in toolsclubby789-4/+0
2023-03-02Force parentheses around `match` expression in binary expressionbwmf2-0/+4
2023-02-21Use `ThinVec` in various AST types.Nicholas Nethercote-2/+5
This commit changes the sequence parsers to produce `ThinVec`, which triggers numerous conversions.
2023-02-21Use `ThinVec` in `ast::WhereClause`.Nicholas Nethercote-1/+1
2023-02-21Use `ThinVec` in `ast::Generics` and related types.Nicholas Nethercote-4/+3
2023-02-07Expand const-if-const trait bounds correctlyMichael Goulet-2/+12
2023-02-02Rename `rust_2015` => `is_rust_2015`Maybe Waffle-1/+1
2023-01-31Use `Edition` methods a bit moreMaybe Waffle-1/+1
2023-01-27Replace format flags u32 by enums and bools.Mara Bos-14/+14
2023-01-26Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obkbors-0/+104
Move format_args!() into AST (and expand it during AST lowering) Implements https://github.com/rust-lang/compiler-team/issues/541 This moves FormatArgs from rustc_builtin_macros to rustc_ast_lowering. For now, the end result is the same. But this allows for future changes to do smarter things with format_args!(). It also allows Clippy to directly access the ast::FormatArgs, making things a lot easier. This change turns the format args types into lang items. The builtin macro used to refer to them by their path. After this change, the path is no longer relevant, making it easier to make changes in `core`. This updates clippy to use the new language items, but this doesn't yet make clippy use the ast::FormatArgs structure that's now available. That should be done after this is merged.
2023-01-17Remove double spaces after dots in commentsMaybe Waffle-2/+2
2023-01-14Fix ast_pretty for format_args for {:x?} and {:X?}.Mara Bos-2/+2
They were accidentally swapped.
2023-01-12Add FIXME comments about asm and format_args ast_pretty.Mara Bos-0/+2
2023-01-12parse const closuresDeadbeef-0/+2
2023-01-12Expand format_args!() in rust_ast_lowering.Mara Bos-0/+102
2023-01-05Fix `uninlined_format_args` for some compiler cratesnils-10/+10
Convert all the crates that have had their diagnostic migration completed (except save_analysis because that will be deleted soon and apfloat because of the licensing problem).
2022-12-28Rename `Rptr` to `Ref` in AST and HIRNilstrieb-1/+1
The name makes a lot more sense, and `ty::TyKind` calls it `Ref` already as well.
2022-12-12Auto merge of #105160 - nnethercote:rm-Lit-token_lit, r=petrochenkovbors-2/+4
Remove `token::Lit` from `ast::MetaItemLit`. Currently `ast::MetaItemLit` represents the literal kind twice. This PR removes that redundancy. Best reviewed one commit at a time. r? `@petrochenkov`
2022-12-06Remove outdated syntax from trait alias pretty printingMaybe Waffle-13/+2
2022-12-05Remove three uses of `LitKind::synthesize_token_lit`.Nicholas Nethercote-2/+3
2022-12-03Rollup merge of #105050 - WaffleLapkin:uselessrefign, r=jyn514Matthias Krüger-15/+15
Remove useless borrows and derefs They are nothing more than noise. <sub>These are not all of them, but my clippy started crashing (stack overflow), so rip :(</sub>
2022-12-03Rollup merge of #104199 - SarthakSingh31:issue-97417-1, r=cjgillotMatthias Krüger-0/+1
Keep track of the start of the argument block of a closure This removes a call to `tcx.sess.source_map()` from [compiler/rustc_trait_selection/src/traits/error_reporting/mod.rs](https://github.com/rust-lang/rust/compare/master...SarthakSingh31:issue-97417-1?expand=1#diff-8406bbc0d0b43d84c91b1933305df896ecdba0d1f9269e6744f13d87a2ab268a) as required by #97417. VsCode automatically applied `rustfmt` to the files I edited under `src/tools`. I can undo that if its a problem. r? `@cjgillot`