Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
42efd24
Explicitly use an empty vector for structural eq
P-E-P Aug 5, 2025
62fad9a
gccrs: Refactor HIR::PatternItem class and its derivatives
Polygonalr Aug 2, 2025
af10b33
Improve handling of AttrInputLiteral
powerboat9 Aug 5, 2025
0a183de
Add missing header inclusion
P-E-P Aug 5, 2025
6e2dca3
Copy cfg_attrs instead setting it to itself
P-E-P Aug 5, 2025
95f1c1f
Avoid transitive declaration
P-E-P Aug 5, 2025
ee23744
Move vector of unique_ptr
P-E-P Aug 5, 2025
c1936c5
Fix variadic member flag value in constructor
P-E-P Aug 5, 2025
c81218b
Prevent copy from vector implementation
P-E-P Aug 5, 2025
aca50dc
Remove cyclic inclusion and unused headers.
P-E-P Aug 5, 2025
a305927
Fix friendly class to friendly struct qualification
P-E-P Aug 6, 2025
49fdebd
Add header guards
P-E-P Aug 6, 2025
8abb579
Add missing direct include
P-E-P Aug 6, 2025
4a04d26
Improve vector usages and avoid copies.
P-E-P Aug 6, 2025
2aecd08
Handle attributes in expression macros
powerboat9 Jul 12, 2025
25b1941
Exclude some inline assembly test
P-E-P Aug 8, 2025
7e720fd
gccrs: Fix ICE on exclusive_range_pattern lowering
Lishin1215 Aug 8, 2025
29573ae
Add checks to ExpandVisitor
powerboat9 Aug 9, 2025
cb50ee8
Refactor inline assembly constructor
P-E-P Aug 11, 2025
7fc0c73
Fix infinite loop on inline assembly clobbers
P-E-P Aug 11, 2025
5ba6c67
Emit an error message on unsupported llvm_asm
P-E-P Aug 11, 2025
cbfcc6b
Remove abort on wildcard patterns
P-E-P Aug 11, 2025
375b6aa
Add test for multiple wildcard use declaration.
P-E-P Aug 12, 2025
b11b651
CfgStrip AST nodes marked with #[test]
powerboat9 Aug 12, 2025
6eed474
fix error number
sakupan102 Mar 11, 2025
a127d91
Add name resolution processing for discriminant values
sakupan102 Aug 8, 2025
943c124
Detect failure to match an ident metavariable
powerboat9 Aug 10, 2025
4960d28
ast: Cleanup SingleASTNode::NodeType
CohenArthur Aug 12, 2025
23c82e0
expand: Add handling for macro expansion in pattern context
CohenArthur Aug 13, 2025
123e1b8
Fix Self macro invocation parsing failure
P-E-P Aug 12, 2025
707f56a
nr2.0: Fix ChangeLog entry
powerboat9 Jul 31, 2025
04a48b4
Improve handling of non-final path segments
powerboat9 Aug 11, 2025
2118c9f
Reject empty cfg_attr
P-E-P Aug 13, 2025
e87b930
gccrs: fix ICE for empty enum variant
Lishin1215 Aug 14, 2025
f536072
gccrs: fix ICE by skipping invalid (non-FNDEF) candidates
Lishin1215 Aug 13, 2025
6eb3694
gccrs: Implement let statement support for IdentifierPattern's subpat…
Polygonalr Aug 12, 2025
c05e069
gccrs: Add IdentifierPattern subpattern support for ClosureParamInfer
Polygonalr Aug 12, 2025
1fb0038
Read-only check if the variable is mutable type.
sakupan102 Aug 12, 2025
82d9d6f
Replace old read-only checker with new implementation.
sakupan102 Aug 12, 2025
c08a640
Collect lang items after expansion
powerboat9 Jul 10, 2025
af601cb
gccrs: Implement rest pattern support for slice patterns
Polygonalr Aug 11, 2025
aa532a4
gccrs: fix ICE in convert_tree for tuple destructuring with ref
Lishin1215 Aug 10, 2025
6589bc7
Improve libformat_parser FFI
powerboat9 Aug 13, 2025
d5f7889
Expect identifier subpatterns to be non-alt
powerboat9 Aug 18, 2025
6347ae6
Remove #[simd_test] support
powerboat9 Jul 12, 2025
5c31646
Add null check to reconstruct
P-E-P Aug 18, 2025
634fb06
Fix generic type constraints
P-E-P Aug 19, 2025
22542a5
Treat function pointers like pointers for cast
P-E-P Aug 19, 2025
4cdbcd3
Convert lookup return type to optional
P-E-P Aug 19, 2025
3564752
Remove unused copy
P-E-P Aug 21, 2025
7fb8b00
Avoid copy when constructing TypeBoundPredicate
P-E-P Aug 21, 2025
117151c
Remove unused variable assignments
P-E-P Aug 21, 2025
777c2db
Refactor return statements
P-E-P Aug 21, 2025
c1e1759
Change coerce_unsize error handling
P-E-P Aug 21, 2025
1be26c7
Put nevertype cercion into it's own function
P-E-P Aug 21, 2025
abf9e70
Use as member function instead of static cast
P-E-P Aug 22, 2025
8ce349a
Add fn pointer implementation test
P-E-P Aug 22, 2025
57d0515
Remove Parser::parse_path_in_expression_pratt
powerboat9 Aug 21, 2025
978a423
Eagerly expand format_args macro
powerboat9 Aug 22, 2025
f77dddf
Avoid std::unique_ptr<std::string> in Token
powerboat9 Aug 24, 2025
72ed0fa
gccrs: Refactor AST Patterns that hold multiple pattern items
Polygonalr Aug 24, 2025
dbd29c6
nr1.0: Remove support in privacy checker
powerboat9 Aug 23, 2025
fe5343d
nr1.0: Remove support in rust-session-manager.cc
powerboat9 Aug 23, 2025
5e7fd2f
nr1.0: Remove support in pattern checker
powerboat9 Aug 23, 2025
76cdccc
nr1.0: Remove support in borrow checker
powerboat9 Aug 23, 2025
a904502
Separate strip information from internal state
P-E-P Aug 25, 2025
7bb8bf7
ast: Add PointerVisitor
CohenArthur Aug 13, 2025
e34ef42
desugar: Use PointerVisitor for ExpressionYeast
CohenArthur Aug 14, 2025
7e7a6cf
Do not dump the AST if the parser emit errors
P-E-P Aug 26, 2025
f01e6f8
Remove Parser::parse_tuple_index_expr_float
powerboat9 Aug 23, 2025
b001178
Allow early resolution to use the language prelude
powerboat9 Aug 10, 2025
b3aa28a
Emit error on lonely self use declaration
P-E-P Aug 26, 2025
cfa131d
Error out on unsuffixed self list use declaration
P-E-P Aug 26, 2025
3568dc7
gccrs: Make the coerce borrowed pointer consistent with try flag
philberty Aug 25, 2025
0a00e38
gccrs: Remove some const usage so we can get rid of more can_eq usage
philberty Aug 25, 2025
f35c8a7
gccrs: respect the unify rules commit flag
philberty Aug 25, 2025
938119a
gccrs: Update can_eq to be a types_compatable interface
philberty Aug 25, 2025
15c4457
gccrs: Add check bounds flag to unify rules for compatability checks
philberty Aug 29, 2025
067738a
gccrs: remove 2nd last usage of can_eq
philberty Aug 29, 2025
1d15228
gccrs: simplify cloning of types during unify
philberty Aug 29, 2025
a8102da
gccrs: reuse an error mark node instead of new ones each failure
philberty Aug 29, 2025
4aa76c6
gccrs: get rid of last can_eq usage finally
philberty Aug 29, 2025
4102247
gccrs: Remove fully the can_eq TyTy::BaseType::can_eq interface
philberty Aug 29, 2025
b83503c
gccrs: Fix formatting of tyty code
philberty Aug 29, 2025
c0b0f5c
gccrs: track generic const generics properly
philberty Aug 3, 2025
e3f0505
gccrs: Fix bug with unconstrained const generic
philberty Aug 3, 2025
567e208
gccrs: allow unifications against non const types
philberty Aug 3, 2025
227b086
gccrs: Add implicit infer support for unify on const types
philberty Aug 19, 2025
d92dad8
Recognize rustc_allow_const_fn_unstable
powerboat9 Jul 3, 2025
0bb6508
nr1.0: Remove support in expansion phase
powerboat9 Aug 28, 2025
8439d69
Implement missing var decl case for TuplePatternItemsHasRest
Polygonalr Aug 27, 2025
f816878
Implement missing read-only checker case for TuplePatternItemsHasRest
Polygonalr Aug 28, 2025
ff7ffa3
gccrs: Fix segv when handling invalid array capacities
philberty Aug 31, 2025
bc53b21
gccrs: Fix crash on break outside of loop context
philberty Aug 31, 2025
c48cb03
Unify path-to-type handling in Late resolver
powerboat9 Jul 1, 2025
158a12b
nr1.0: Remove chunks of resolution phase
powerboat9 Aug 28, 2025
0bb7762
Add test to confirm Rust-GCC/gccrs#3924 fix
P-E-P Sep 2, 2025
262e92f
Add test to confirm Rust-GCC/gccrs#3922 fix
P-E-P Sep 2, 2025
e4358f0
gccrs: Remove the template parameter so clang format stops barfing on…
philberty Sep 3, 2025
32c0e24
gccrs: Revert "gccrs: Remove the template parameter
philberty Sep 3, 2025
defa0a3
gccrs: get rid of more clones in unify path
philberty Sep 3, 2025
030aea3
gccrs: Revert "nr1.0: Remove support in expansion phase"
philberty Sep 3, 2025
0d8916d
gccrs: track abi and unsafety on fnptrs for proper type checking
philberty Sep 3, 2025
1aabf70
Add libcore to the list of ignored prefixes
powerboat9 Aug 11, 2025
a03257a
Import libcore 1.49.0
powerboat9 Aug 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions contrib/gcc-changelog/git_commit.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@
'gcc/testsuite/go.test/test/',
'libffi/',
'libgo/',
'libgrust/rustc-lib/core/',
'libphobos/libdruntime/',
'libphobos/src/',
'libsanitizer/',
Expand Down
2 changes: 1 addition & 1 deletion gcc/rust/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -5197,7 +5197,7 @@

2025-03-21 Owen Avery <[email protected]>

* resolve/rust-name-resolver.cc: Include options.txt.
* resolve/rust-name-resolver.cc: Include options.h.
(Resolver::insert_resolved_name): Assert that name resolution
2.0 is disabled.
(Resolver::lookup_resolved_name): Likewise.
Expand Down
12 changes: 2 additions & 10 deletions gcc/rust/Make-lang.in
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ GRS_OBJS = \
rust/rust-ast-dump.o \
rust/rust-ast-collector.o \
rust/rust-ast-visitor.o \
rust/rust-ast-pointer-visitor.o \
rust/rust-hir-visitor.o \
rust/rust-hir-dump.o \
rust/rust-session-manager.o \
Expand Down Expand Up @@ -149,15 +150,7 @@ GRS_OBJS = \
rust/rust-immutable-name-resolution-context.o \
rust/rust-early-name-resolver.o \
rust/rust-name-resolver.o \
rust/rust-ast-resolve.o \
rust/rust-ast-resolve-base.o \
rust/rust-ast-resolve-item.o \
rust/rust-ast-resolve-pattern.o \
rust/rust-ast-resolve-expr.o \
rust/rust-ast-resolve-type.o \
rust/rust-ast-resolve-path.o \
rust/rust-ast-resolve-stmt.o \
rust/rust-ast-resolve-struct-expr-field.o \
rust/rust-resolve-builtins.o \
rust/rust-forever-stack.o \
rust/rust-hir-type-check.o \
rust/rust-privacy-check.o \
Expand Down Expand Up @@ -209,7 +202,6 @@ GRS_OBJS = \
rust/rust-lint-marklive.o \
rust/rust-lint-unused-var.o \
rust/rust-readonly-check.o \
rust/rust-readonly-check2.o \
rust/rust-hir-type-check-path.o \
rust/rust-unsafe-checker.o \
rust/rust-hir-pattern-analysis.o \
Expand Down
56 changes: 23 additions & 33 deletions gcc/rust/ast/rust-ast-builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -554,12 +554,12 @@ std::unique_ptr<GenericParam>
Builder::new_lifetime_param (LifetimeParam &param)
{
Lifetime l = new_lifetime (param.get_lifetime ());

std::vector<Lifetime> lifetime_bounds;
lifetime_bounds.reserve (param.get_lifetime_bounds ().size ());

for (auto b : param.get_lifetime_bounds ())
{
Lifetime bl = new_lifetime (b);
lifetime_bounds.push_back (bl);
}
lifetime_bounds.emplace_back (new_lifetime (b));

auto p = new LifetimeParam (l, std::move (lifetime_bounds),
param.get_outer_attrs (), param.get_locus ());
Expand Down Expand Up @@ -605,11 +605,11 @@ Builder::new_type_param (
for (const auto &lifetime : tb.get_for_lifetimes ())
{
std::vector<Lifetime> lifetime_bounds;
lifetime_bounds.reserve (
lifetime.get_lifetime_bounds ().size ());

for (const auto &b : lifetime.get_lifetime_bounds ())
{
Lifetime bl = new_lifetime (b);
lifetime_bounds.push_back (std::move (bl));
}
lifetime_bounds.emplace_back (new_lifetime (b));

Lifetime nl = new_lifetime (lifetime.get_lifetime ());
LifetimeParam p (std::move (nl), std::move (lifetime_bounds),
Expand All @@ -626,12 +626,11 @@ Builder::new_type_param (
{
const TypePathSegment &segment
= (const TypePathSegment &) (*seg.get ());
TypePathSegment *s = new TypePathSegment (

segments.emplace_back (new TypePathSegment (
segment.get_ident_segment (),
segment.get_separating_scope_resolution (),
segment.get_locus ());
std::unique_ptr<TypePathSegment> sg (s);
segments.push_back (std::move (sg));
segment.get_locus ()));
}
break;

Expand All @@ -642,11 +641,10 @@ Builder::new_type_param (

GenericArgs args
= new_generic_args (generic.get_generic_args ());
TypePathSegmentGeneric *s = new TypePathSegmentGeneric (

segments.emplace_back (new TypePathSegmentGeneric (
generic.get_ident_segment (), false, std::move (args),
generic.get_locus ());
std::unique_ptr<TypePathSegment> sg (s);
segments.push_back (std::move (sg));
generic.get_locus ()));
}
break;

Expand All @@ -664,23 +662,19 @@ Builder::new_type_param (
TypePath p (std::move (segments), path.get_locus (),
path.has_opening_scope_resolution_op ());

TraitBound *b = new TraitBound (std::move (p), tb.get_locus (),
tb.is_in_parens (),
tb.has_opening_question_mark (),
std::move (for_lifetimes));
std::unique_ptr<TypeParamBound> bound (b);
type_param_bounds.push_back (std::move (bound));
type_param_bounds.emplace_back (new TraitBound (
std::move (p), tb.get_locus (), tb.is_in_parens (),
tb.has_opening_question_mark (), std::move (for_lifetimes)));
}
break;

case TypeParamBound::TypeParamBoundType::LIFETIME:
{
const Lifetime &l = (const Lifetime &) *b.get ();

auto bl = new Lifetime (l.get_lifetime_type (),
l.get_lifetime_name (), l.get_locus ());
std::unique_ptr<TypeParamBound> bound (bl);
type_param_bounds.push_back (std::move (bound));
type_param_bounds.emplace_back (
new Lifetime (l.get_lifetime_type (), l.get_lifetime_name (),
l.get_locus ()));
}
break;
}
Expand Down Expand Up @@ -709,18 +703,14 @@ Builder::new_generic_args (GenericArgs &args)
location_t locus = args.get_locus ();

for (const auto &lifetime : args.get_lifetime_args ())
{
Lifetime l = new_lifetime (lifetime);
lifetime_args.push_back (std::move (l));
}
lifetime_args.push_back (new_lifetime (lifetime));

for (auto &binding : args.get_binding_args ())
{
Type &t = *binding.get_type_ptr ().get ();
std::unique_ptr<Type> ty = t.reconstruct ();
GenericArgsBinding b (binding.get_identifier (), std::move (ty),
binding.get_locus ());
binding_args.push_back (std::move (b));
binding_args.emplace_back (binding.get_identifier (), std::move (ty),
binding.get_locus ());
}

for (auto &arg : args.get_generic_args ())
Expand Down
17 changes: 9 additions & 8 deletions gcc/rust/ast/rust-ast-collector.cc
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,13 @@ TokenCollector::trailing_comma ()
void
TokenCollector::newline ()
{
tokens.push_back ({CollectItem::Kind::Newline});
tokens.emplace_back (CollectItem::Kind::Newline);
}

void
TokenCollector::indentation ()
{
tokens.push_back ({indent_level});
tokens.emplace_back (indent_level);
}

void
Expand All @@ -101,7 +101,7 @@ TokenCollector::decrement_indentation ()
void
TokenCollector::comment (std::string comment)
{
tokens.push_back ({comment});
tokens.emplace_back (comment);
}

void
Expand Down Expand Up @@ -355,7 +355,8 @@ TokenCollector::visit (MaybeNamedParam &param)
void
TokenCollector::visit (Token &tok)
{
std::string data = tok.get_tok_ptr ()->has_str () ? tok.get_str () : "";
std::string data
= tok.get_tok_ptr ()->should_have_str () ? tok.get_str () : "";
switch (tok.get_id ())
{
case IDENTIFIER:
Expand Down Expand Up @@ -2649,13 +2650,13 @@ TokenCollector::visit (StructPattern &pattern)
// void TokenCollector::visit(TupleStructItems& ){}

void
TokenCollector::visit (TupleStructItemsNoRange &pattern)
TokenCollector::visit (TupleStructItemsNoRest &pattern)
{
visit_items_joined_by_separator (pattern.get_patterns ());
}

void
TokenCollector::visit (TupleStructItemsRange &pattern)
TokenCollector::visit (TupleStructItemsHasRest &pattern)
{
for (auto &lower : pattern.get_lower_patterns ())
{
Expand All @@ -2682,13 +2683,13 @@ TokenCollector::visit (TupleStructPattern &pattern)
// {}

void
TokenCollector::visit (TuplePatternItemsMultiple &pattern)
TokenCollector::visit (TuplePatternItemsNoRest &pattern)
{
visit_items_joined_by_separator (pattern.get_patterns (), COMMA);
}

void
TokenCollector::visit (TuplePatternItemsRanged &pattern)
TokenCollector::visit (TuplePatternItemsHasRest &pattern)
{
for (auto &lower : pattern.get_lower_patterns ())
{
Expand Down
8 changes: 4 additions & 4 deletions gcc/rust/ast/rust-ast-collector.h
Original file line number Diff line number Diff line change
Expand Up @@ -370,12 +370,12 @@ class TokenCollector : public ASTVisitor
void visit (StructPatternFieldIdent &field);
void visit (StructPattern &pattern);
// void visit(TupleStructItems& tuple_items);
void visit (TupleStructItemsNoRange &tuple_items);
void visit (TupleStructItemsRange &tuple_items);
void visit (TupleStructItemsNoRest &tuple_items);
void visit (TupleStructItemsHasRest &tuple_items);
void visit (TupleStructPattern &pattern);
// void visit(TuplePatternItems& tuple_items);
void visit (TuplePatternItemsMultiple &tuple_items);
void visit (TuplePatternItemsRanged &tuple_items);
void visit (TuplePatternItemsNoRest &tuple_items);
void visit (TuplePatternItemsHasRest &tuple_items);
void visit (TuplePattern &pattern);
void visit (GroupedPattern &pattern);
void visit (SlicePatternItemsNoRest &items);
Expand Down
3 changes: 3 additions & 0 deletions gcc/rust/ast/rust-ast-formatting.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
#ifndef RUST_AST_FORMATTING_H
#define RUST_AST_FORMATTING_H

#include "rust-ast.h"
#include "rust-system.h"

namespace Rust {
namespace AST {

Expand Down
42 changes: 28 additions & 14 deletions gcc/rust/ast/rust-ast-fragment.cc
Original file line number Diff line number Diff line change
Expand Up @@ -107,29 +107,42 @@ Fragment::should_expand () const
bool
Fragment::is_expression_fragment () const
{
return is_single_fragment_of_kind (SingleASTNode::NodeType::EXPRESSION);
return is_single_fragment_of_kind (SingleASTNode::Kind::Expr);
}

bool
Fragment::is_type_fragment () const
{
return is_single_fragment_of_kind (SingleASTNode::NodeType::TYPE);
return is_single_fragment_of_kind (SingleASTNode::Kind::Type);
}

bool
Fragment::is_pattern_fragment () const
{
return is_single_fragment_of_kind (SingleASTNode::Kind::Pattern);
}

std::unique_ptr<Expr>
Fragment::take_expression_fragment ()
{
assert_single_fragment (SingleASTNode::NodeType::EXPRESSION);
assert_single_fragment (SingleASTNode::Kind::Expr);
return nodes[0].take_expr ();
}

std::unique_ptr<Type>
Fragment::take_type_fragment ()
{
assert_single_fragment (SingleASTNode::NodeType::TYPE);
assert_single_fragment (SingleASTNode::Kind::Type);
return nodes[0].take_type ();
}

std::unique_ptr<Pattern>
Fragment::take_pattern_fragment ()
{
assert_single_fragment (SingleASTNode::Kind::Pattern);
return nodes[0].take_pattern ();
}

void
Fragment::accept_vis (ASTVisitor &vis)
{
Expand All @@ -144,21 +157,22 @@ Fragment::is_single_fragment () const
}

bool
Fragment::is_single_fragment_of_kind (SingleASTNode::NodeType expected) const
Fragment::is_single_fragment_of_kind (SingleASTNode::Kind expected) const
{
return is_single_fragment () && nodes[0].get_kind () == expected;
}

void
Fragment::assert_single_fragment (SingleASTNode::NodeType expected) const
{
static const std::map<SingleASTNode::NodeType, const char *> str_map = {
{SingleASTNode::NodeType::ASSOC_ITEM, "associated item"},
{SingleASTNode::NodeType::ITEM, "item"},
{SingleASTNode::NodeType::TYPE, "type"},
{SingleASTNode::NodeType::EXPRESSION, "expr"},
{SingleASTNode::NodeType::STMT, "stmt"},
{SingleASTNode::NodeType::EXTERN, "extern"},
Fragment::assert_single_fragment (SingleASTNode::Kind expected) const
{
static const std::map<SingleASTNode::Kind, const char *> str_map = {
{SingleASTNode::Kind::Assoc, "associated item"},
{SingleASTNode::Kind::Item, "item"},
{SingleASTNode::Kind::Type, "type"},
{SingleASTNode::Kind::Expr, "expr"},
{SingleASTNode::Kind::Stmt, "stmt"},
{SingleASTNode::Kind::Extern, "extern"},
{SingleASTNode::Kind::Pattern, "pattern"},
};

auto actual = nodes[0].get_kind ();
Expand Down
6 changes: 4 additions & 2 deletions gcc/rust/ast/rust-ast-fragment.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,11 @@ class Fragment

bool is_expression_fragment () const;
bool is_type_fragment () const;
bool is_pattern_fragment () const;

std::unique_ptr<Expr> take_expression_fragment ();
std::unique_ptr<Type> take_type_fragment ();
std::unique_ptr<Pattern> take_pattern_fragment ();

void accept_vis (ASTVisitor &vis);

Expand Down Expand Up @@ -119,8 +121,8 @@ class Fragment
* one Node will be extracted from the `nodes` vector
*/
bool is_single_fragment () const;
bool is_single_fragment_of_kind (SingleASTNode::NodeType expected) const;
void assert_single_fragment (SingleASTNode::NodeType expected) const;
bool is_single_fragment_of_kind (SingleASTNode::Kind expected) const;
void assert_single_fragment (SingleASTNode::Kind expected) const;
};

enum class InvocKind
Expand Down
8 changes: 4 additions & 4 deletions gcc/rust/ast/rust-ast-full-decls.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,12 +240,12 @@ class StructPatternFieldIdent;
class StructPatternElements;
class StructPattern;
class TupleStructItems;
class TupleStructItemsNoRange;
class TupleStructItemsRange;
class TupleStructItemsNoRest;
class TupleStructItemsHasRest;
class TupleStructPattern;
class TuplePatternItems;
class TuplePatternItemsMultiple;
class TuplePatternItemsRanged;
class TuplePatternItemsNoRest;
class TuplePatternItemsHasRest;
class TuplePattern;
class GroupedPattern;
class SlicePatternItemsNoRest;
Expand Down
Loading