{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiec4shycmzk4e7bbbqpqblcrvg3pzwnc77nz7tasiuqnb6lf6pdgu",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mn27fvvq6d42"
  },
  "path": "/t/crowdsourcing-request-what-syntax-changes-that-will-affect-the-ast-are-currently-in-flight/24361#post_6",
  "publishedAt": "2026-05-30T01:18:50.000Z",
  "site": "https://internals.rust-lang.org",
  "tags": [
    "github.com/rust-lang/rust",
    "Parse `mut` restrictions",
    "CoCo-Japan-pan",
    "+124\n-47",
    "add move(expr) syntax",
    "TaKO8Ki",
    "+77\n-4",
    "Parse view type syntax, mark it as unstable",
    "scrabsha",
    "+45\n-40",
    "Reorder keywords to place restrictions next to visibility",
    "+49\n-73",
    "Parse and lower final for methods",
    "mu001999",
    "+142\n-43",
    "Allow provisional mgca syntax of type const <IDENT> = <EXPR> to be reconized.",
    "Keith-Cancel",
    "+1014\n-906",
    "",
    "fix(parser): Disallow CR in frontmatter",
    "epage",
    "+27\n-4",
    "Sugar for `const _: () =`",
    "GrigorenkoPV",
    "+116\n-29",
    "Feature-gate `mut ref` patterns in struct field shorthand.",
    "zachs18",
    "+18\n-2",
    "Support syntax for one-line trait reuse",
    "aerooneqq",
    "+879\n-33",
    "Experimentally add *heterogeneous* `try` blocks",
    "scottmcm",
    "+278\n-59",
    "Allow inherent const impl blocks",
    "oli-obk",
    "+78\n-86",
    "Implement `&pin` patterns and `ref pin` bindings",
    "frank-king",
    "+886\n-240",
    "Add not-null pointer patterns to pattern types",
    "+353\n-22",
    "Gate static coroutines behind a parser feature",
    "compiler-errors",
    "+67\n-24",
    "Change const trait bound syntax from ~const to [const]",
    "+1382\n-1319",
    "Implement RFC 3503: frontmatters",
    "fee1-dead",
    "+970\n-22"
  ],
  "textContent": "looking through recent commits to `rustc_parse`:\n\ngithub.com/rust-lang/rust\n\n####  Parse `mut` restrictions\n\ncommitted 08:33AM - 24 May 26 UTC\n\n\n\n          CoCo-Japan-pan\n        \n\n\n+124\n-47\n\n\ngithub.com/rust-lang/rust\n\n####  add move(expr) syntax\n\ncommitted 01:22PM - 07 May 26 UTC\n\n\n\n          TaKO8Ki\n        \n\n\n+77\n-4\n\n\ngithub.com/rust-lang/rust\n\n####  Parse view type syntax, mark it as unstable\n\ncommitted 06:11PM - 29 Apr 26 UTC\n\n\n\n          scrabsha\n        \n\n\n+45\n-40\n\n\ngithub.com/rust-lang/rust\n\n####  Reorder keywords to place restrictions next to visibility\n\ncommitted 06:57AM - 19 Apr 26 UTC\n\n\n\n          CoCo-Japan-pan\n        \n\n\n+49\n-73\n\n\ngithub.com/rust-lang/rust\n\n####  Parse and lower final for methods\n\ncommitted 07:12AM - 12 Feb 26 UTC\n\n\n\n          mu001999\n        \n\n\n+142\n-43\n\n\nCo-authored-by: Michael Goulet <michael@errs.io>\n\ngithub.com/rust-lang/rust\n\n####  Allow provisional mgca syntax of type const <IDENT> = <EXPR> to be reconized.\n\ncommitted 03:59PM - 09 Feb 26 UTC\n\n\n\n          Keith-Cancel\n        \n\n\n+1014\n-906\n\n\nRevert, but without type const. Update symbol for feature err, then update sugg…estion output, and lastly update tests that change because of those. Update these new tests with the correct syntax, and few existing tests with the new outputs the merge with main added. Fix for tidyfmt and some errors when manually resolving a merge conflicts. Update these tests to use update error messages and type const syntax. Update comments and error message to use new syntax instead of old type_const attribute. Remove the type_const attribute update some more tests to use the new syntax. Update these test cases. update feature gate test Change gate logic for `mgca_type_const_syntax` to work also if `min_generic_const_args` is enabled. Create a new feature gate that checks for the feature before expansion. Make rustfmt handle the `type const` syntax correctly. Add a convience method to check if a RhsKind is type const. Rename `Const` discriminant to `Body` for `ConstItemRhsKind` Give the `TraitItemKind` flag an enum instead of a simple bool to better describe what the flag is for. Update formatting for these match statements. Update clippy test to use type const syntax. Update test to use type const syntax. update rustfmt to match ast items. Update clippy to match ast and hir items. Few more test cases that used old attribute, instead of 'type const' Update to match the output from the feature gate checks. tidyfmt adjustments. Update the is_type_const, so I can constrain record!(..) in encoder.rs Update conditional compilation test. Move the feature gate to after expansion to allow for cfg(...) to work. Update some more tests to use the new syntax. Update type const tests in associated-const-bindings to use new syntax. Don't check based off the attribute, but the item here. Update some tests outside of the const_generics folder that were using #[type_const] update the tests in associated consts that use #[type_const] to use type const Update these mgca tests with the type const syntax. Add a flag to TraitItemKind for detecting type const for now. Maybe later change ItemConstRhs to have optional consts but that touches a lot more lines of code. Don't need into for these now that it's a query. Add is_type_const query to handle foreign def ids. update this test to use type const syntax. Fix logic here, we only want to lower if there is expression in this case. Update built-in macros to use ConstItemRhsKind Update more instance of the old ConstItemRhs. Rename ConstItemKind to ConstItemRhsKind, I noticed there is a typed called ConstantItemKind, so add the Rhs to the name to avoid confusion. Update lower to use ConstItemKind Add an other helper method to check if the rhs kinda has an expr. Update item parse to use ConstItemKind enum. Felt the field name could a be little clear when editing a few other things. Change the ConstItem struct see know if we have a type const or regular const. Make sure this syntax is properly feature gated.\n\ngithub.com/rust-lang/rust\n\n####  fix(parser): Disallow CR in frontmatter\n\ncommitted 07:01PM - 28 Jan 26 UTC\n\n\n\n          epage\n        \n\n\n+27\n-4\n\n\nT-lang came back on the stabilization PR asking for CR to be disallowed to leave… room for all stray CRs to be rejected in the future. At that point, the test can remain but the implementation can be removed. If that plan does not go through, we'll need to re-evaluate - whether this is more lint-like and should defer to the calling tool that is managing the frontmatter - how much Rust should treat the frontmatter as Rust and apply the same grammar restrictions of \"no stray CR\" (like raw string literals)\n\ngithub.com/rust-lang/rust\n\n####  Sugar for `const _: () =`\n\ncommitted 03:12PM - 21 Jan 26 UTC\n\n\n\n          GrigorenkoPV\n        \n\n\n+116\n-29\n\n\ngithub.com/rust-lang/rust\n\n####  Feature-gate `mut ref` patterns in struct field shorthand.\n\ncommitted 04:46AM - 14 Jan 26 UTC\n\n\n\n          zachs18\n        \n\n\n+18\n-2\n\n\ngithub.com/rust-lang/rust\n\n####  Support syntax for one-line trait reuse\n\ncommitted 07:34AM - 23 Dec 25 UTC\n\n\n\n          aerooneqq\n        \n\n\n+879\n-33\n\n\ngithub.com/rust-lang/rust\n\n####  Experimentally add *heterogeneous* `try` blocks\n\ncommitted 04:18AM - 10 Dec 25 UTC\n\n\n\n          scottmcm\n        \n\n\n+278\n-59\n\n\n148725 moved the default to being homogeneous; this adds heterogeneous ones back… under an obvious-bikeshed syntax so people can experiment with that as well. Essentially resolves 149025 by letting them move to this syntax instead.\n\ngithub.com/rust-lang/rust\n\n####  Allow inherent const impl blocks\n\ncommitted 04:00PM - 18 Nov 25 UTC\n\n\n\n          oli-obk\n        \n\n\n+78\n-86\n\n\ngithub.com/rust-lang/rust\n\n####  Implement `&pin` patterns and `ref pin` bindings\n\ncommitted 01:57AM - 10 Nov 25 UTC\n\n\n\n          frank-king\n        \n\n\n+886\n-240\n\n\ngithub.com/rust-lang/rust\n\n####  Add not-null pointer patterns to pattern types\n\ncommitted 11:22AM - 21 Oct 25 UTC\n\n\n\n          oli-obk\n        \n\n\n+353\n-22\n\n\ngithub.com/rust-lang/rust\n\n####  Gate static coroutines behind a parser feature\n\ncommitted 01:12PM - 19 Aug 25 UTC\n\n\n\n          compiler-errors\n        \n\n\n+67\n-24\n\n\ngithub.com/rust-lang/rust\n\n####  Change const trait bound syntax from ~const to [const]\n\ncommitted 01:46PM - 26 Jun 25 UTC\n\n\n\n          oli-obk\n        \n\n\n+1382\n-1319\n\n\ngithub.com/rust-lang/rust\n\n####  Implement RFC 3503: frontmatters\n\ncommitted 03:10PM - 05 May 25 UTC\n\n\n\n          fee1-dead\n        \n\n\n+970\n-22\n\n\nSupercedes #137193",
  "title": "Crowdsourcing request: What syntax changes that will affect the AST are currently in flight?"
}