diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2023-02-03 12:45:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-03 12:45:58 +0000 |
commit | 1f96413438de938667d59557306103a809762449 (patch) | |
tree | bd1bf0a3a4869e4e9ed60bbfe299d38744430246 /gcc/rust/resolve | |
parent | 71bd5b22726c536636628b62cdabfd489c06002e (diff) | |
parent | cddb1f2d9f965aa6386a71369109edd61506118e (diff) | |
download | gcc-1f96413438de938667d59557306103a809762449.zip gcc-1f96413438de938667d59557306103a809762449.tar.gz gcc-1f96413438de938667d59557306103a809762449.tar.bz2 |
Merge #1812
1812: parser: Allow parsing multiple reference types r=CohenArthur a=CohenArthur
The parser now recursively tries to parse a reference type after seeing a `&` or `&&` token.
gcc/rust/ChangeLog:
* parse/rust-parse-impl.h (Parser::parse_type): Handle double ampersan properly (Parser::parse_reference_type): Call into `parse_reference_type_inner` and wrap double reference types in another `AST::ReferenceType` node (Parser::parse_reference_type_inner): Add parsing implementation which does not care about the leading token (& or &&) (Parser::parse_type_no_bounds): Handle double ampersand properly
* parse/rust-parse.h: Declare `parse_reference_type_inner`
gcc/testsuite/ChangeLog:
* rust/compile/multi_reference_type.rs: New test.
Addresses #1807 partly
Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com>
Diffstat (limited to 'gcc/rust/resolve')
0 files changed, 0 insertions, 0 deletions