Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust: extract types #18000

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
Draft

Rust: extract types #18000

wants to merge 13 commits into from

Conversation

aibaars
Copy link
Contributor

@aibaars aibaars commented Nov 15, 2024

This pull request changes the extractor to emit types for Expr and Pat nodes. Currently the getType() method returns a simple string representing the unqualified type.

As a follow up we should improve the way types are represented. Types should at least have qualifiers, and most likely a more structured representation would be better.

@github-actions github-actions bot added the Rust Pull requests that update Rust code label Nov 15, 2024
| main.rs:46:22:46:22 | x | bool |
| main.rs:47:14:47:18 | false | bool |
| main.rs:51:14:53:1 | BlockExpr | () |
| main.rs:52:5:52:11 | $crate::boxed::Box::new | fn new<[i32; 1]>([i32; 1]) -> Box<[i32; 1], Global> |
| main.rs:52:5:52:11 | (no string representation) | fn into_vec<i32, Global>(Box<[i32], Global>) -> Vec<i32, Global> |
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@paldepind FYI, I ran into the same error due to the incomplete toString definition for PathSegment.

not exists(super.getType()) and
(
result = this.getMacroCall().getExpanded().(Expr).getType() or
result = typeOf(this.getMacroCall().getExpanded().(MacroStmts))

Check warning

Code scanning / CodeQL

Redundant cast Warning

Redundant cast to
MacroStmts
.
@aibaars aibaars force-pushed the aibaars/rust-types branch 2 times, most recently from 4ac412c to 843eaca Compare November 18, 2024 20:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant