Skip to content

gccrs: Implement compilation of IdentifierPattern's subpattern bindings#3822

Merged
philberty merged 3 commits into
Rust-GCC:masterfrom
Polygonalr:identifier-pattern-2
Jun 15, 2025
Merged

gccrs: Implement compilation of IdentifierPattern's subpattern bindings#3822
philberty merged 3 commits into
Rust-GCC:masterfrom
Polygonalr:identifier-pattern-2

Conversation

@Polygonalr

Copy link
Copy Markdown
Contributor

Includes renaming of get_pattern_to_bind to get_subpattern which I missed out in my previous PR.

I'm aware that there are still other visit functions that lack support for subpattern - some changes for those are currently under my draft branch in my fork which I'll eventually get around to fully implementing and testing. For now, I think I want to move on and focus on implementing minimal support for other unsupported patterns first.

gcc/rust/ChangeLog:

	* ast/rust-ast-collector.cc: Rename get_pattern_to_bind to get_subpattern
	* ast/rust-ast-visitor.cc: Ditto.
	* ast/rust-pattern.h: Ditto.
	* expand/rust-cfg-strip.cc: Ditto.
	* hir/rust-ast-lower-pattern.cc: Ditto.

Signed-off-by: Yap Zhi Heng <yapzhhg@gmail.com>
gcc/rust/ChangeLog:

	* resolve/rust-ast-resolve-pattern.cc: Implement name resolution for
		IdentifierPattern's subpattern.
	* resolve/rust-late-name-resolver-2.0.cc: Ditto, but for nr2.

Signed-off-by: Yap Zhi Heng <yapzhhg@gmail.com>
gcc/rust/ChangeLog:

	* backend/rust-compile-pattern.cc: Add support for IdentifierPattern's
		subpattern under CompilePatternBindings.

Signed-off-by: Yap Zhi Heng <yapzhhg@gmail.com>

@philberty philberty left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@philberty philberty added this pull request to the merge queue Jun 15, 2025
Merged via the queue into Rust-GCC:master with commit f87c5a6 Jun 15, 2025
12 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in libcore 1.49 Jun 15, 2025
void
Late::visit (AST::IdentifierPattern &identifier)
{
if (identifier.has_subpattern ())

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need a condition check over this ? Calling DefaultResolver::visit(identifier) directly would help future changes and let the condition in the default visitor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants