Commit Graph

1725 Commits

Author SHA1 Message Date
Tom Hvitved
0f1aee025c Merge pull request #19051 from hvitved/rust/path-resolution-cross-crate
Rust: Path resolution improvements
2025-03-24 14:14:12 +01:00
Paolo Tranquilli
bf32acc198 Rust: accept test changes for now 2025-03-24 13:43:27 +01:00
Tom Hvitved
3f1f37fd5f Address review comments 2025-03-24 10:53:38 +01:00
Paolo Tranquilli
bd201afa8e Rust: apply formatting and linting 2025-03-21 11:00:30 +01:00
Paolo Tranquilli
8f8fe2f8b6 Rust: silence warning by removing unused generated function 2025-03-21 10:59:39 +01:00
Paolo Tranquilli
7d312feffe Rust: add local copy of rust.ungrammar
This copy is injected by the existing `//rust/ast-generator:inject-sources`
target, and is useful for development.
2025-03-21 09:48:29 +01:00
Paolo Tranquilli
04f9694f89 Rust: drop extraction of anonymous canonical paths 2025-03-21 09:47:02 +01:00
Arthur Baars
cf8e270384 Rust: fix crate_graph.rs 2025-03-20 19:08:10 +01:00
Paolo Tranquilli
fe7e1c0a6c Rust: solve all compilation errors but the ones related to the crate graph 2025-03-20 17:49:35 +01:00
Paolo Tranquilli
7cf3cac24a Rust: reinstate Variant as Addressable 2025-03-20 16:55:37 +01:00
Paolo Tranquilli
ea11b08f28 Rust: rerun code generation 2025-03-20 16:51:35 +01:00
Paolo Tranquilli
13370200cc Cargo: upgrade dependencies 2025-03-20 16:48:29 +01:00
Simon Friis Vindum
b2fc4f80fb Rust: Adjustments to type inference 2025-03-20 16:38:06 +01:00
Paolo Tranquilli
12214b65a4 Rust: add forgotten expected file 2025-03-20 16:35:56 +01:00
Arthur Baars
b10a296a93 Rust: add more path-injection sinks 2025-03-20 16:30:47 +01:00
Paolo Tranquilli
b48d9a255e Rust: undo rename of Path::segment to Path::part 2025-03-20 16:30:35 +01:00
Paolo Tranquilli
cd15fb3611 Merge pull request #19071 from github/redsun82/codegen-rust-ancestor-order
Rust: preserve ordering in rust generated code
2025-03-20 15:50:48 +01:00
Simon Friis Vindum
659077769b Merge pull request #19062 from paldepind/rust-ti-1
Rust: Improve handling of trait bounds
2025-03-20 14:38:03 +01:00
Tom Hvitved
3142dbb040 Rust: Rework visibility handling in path resolution 2025-03-20 14:14:53 +01:00
Tom Hvitved
b2fc7e771f Rust: Handle super in use statements 2025-03-20 14:14:33 +01:00
Tom Hvitved
57dfbf4faa Rust: Add path resolution test for super in use statement 2025-03-20 14:14:29 +01:00
Tom Hvitved
8044b0d03c Rust: Exclude macro call paths from resolvePath 2025-03-20 14:13:13 +01:00
Tom Hvitved
7c2bafeb17 Rust: Handle self in use statements 2025-03-20 14:13:12 +01:00
Tom Hvitved
8f8f6f74bc Rust: Add use+self path resolution test 2025-03-20 14:13:11 +01:00
Tom Hvitved
c91176116f Rust: Cross-crate path resolution 2025-03-20 14:13:06 +01:00
Tom Hvitved
bd4c85a5bc Rust: Add cross-crate path resolution test 2025-03-20 13:50:20 +01:00
Tom Hvitved
c5106f78ac Rust: Handle pub use reexports in path resolution 2025-03-20 13:50:18 +01:00
Tom Hvitved
6cf83d3a68 Rust: Add path resolution test for reexported items 2025-03-20 13:50:16 +01:00
Tom Hvitved
92528f2b49 Rust: Add debug predicate 2025-03-20 13:50:15 +01:00
Paolo Tranquilli
e2d6643600 Merge pull request #19072 from github/redsun82/rust-fix-canonical-paths-after-rename
Rust: fix canonical paths broken on `StructExpr` and `StructPath`
2025-03-20 13:40:24 +01:00
Paolo Tranquilli
e9b931e2aa Merge branch 'main' into redsun82/codegen-rust-ancestor-order 2025-03-20 13:13:10 +01:00
Arthur Baars
efedfa1fe2 Rust: move optionalStep/Barrier predicates into Cached module 2025-03-20 13:10:38 +01:00
Tom Hvitved
9b58da7e84 Merge pull request #19057 from hvitved/rust/dependency-renaming
Rust: Take dependency renaming into account when extracting the crate graph
2025-03-20 12:51:24 +01:00
Chris Smowton
d362c030b7 Merge pull request #19065 from smowton/smowton/admin/merge-rc317-into-main
Merge rc/3.17 into main
2025-03-20 11:31:03 +00:00
Paolo Tranquilli
b77c13802b Rust: fix canonical paths broken on StructExpr and StructPath
After the rename done in https://github.com/github/codeql/pull/19059,
canonical path extraction was lost on `StructExpr` and `StructPath` as
the identifiers used for the type in the `emit_detached!` macro were not
updated. This fixes that.
2025-03-20 12:16:47 +01:00
Arthur Baars
f5fe531ab6 Rust: remove Stage::ref() trick 2025-03-20 12:15:41 +01:00
Paolo Tranquilli
4110636032 Rust: preserve ordering in rust generated code
This is a small devex improvement to the rust code generator.

Usage of `sorted` in `rustgen.py` was causing the generated code to be
completely reshuffled on renames, which made diffs hard to follow. As an
example see [this generated file diff](https://github.com/github/codeql/pull/19059/files#diff-c938ba77a3398dd4c633ada5702a03477705c24740a2f7d1e40d4b270d8c3f86).

This will make the order deterministically based on the order of
definitions in the schema file. This means that renames will find the
same place in the generated file, and the place in the generated file
will generally be more predictable with respect to the schema.

However, that does mean this change is heavily reshuffling the generated
code.
2025-03-20 12:12:52 +01:00
Simon Friis Vindum
b02a249fbd Merge branch 'main' into rust-ti-1 2025-03-20 11:49:58 +01:00
Tom Hvitved
cbb9987a20 Merge remote-tracking branch 'upstream/main' into rust/dependency-renaming 2025-03-20 11:45:03 +01:00
Tom Hvitved
d19188db8f Address review comment 2025-03-20 11:39:52 +01:00
Arthur Baars
2804c13027 Rust: use optionalBarrier 2025-03-20 11:37:05 +01:00
Arthur Baars
5a91b94395 Refactor using OptionalStep 2025-03-20 11:37:04 +01:00
Arthur Baars
d3e28772ae Rust/Python improve qldoc of SafeAccessCheck 2025-03-20 11:16:45 +01:00
Geoffrey White
0f622b38ab Rust: Update test results. 2025-03-19 18:42:50 +00:00
Geoffrey White
b609bbb4d8 Merge branch 'main' into convtest 2025-03-19 18:41:56 +00:00
Geoffrey White
bbef3fe7fa Rust: Test dataflow through conversions. 2025-03-19 18:13:23 +00:00
Chris Smowton
9a2a13ed55 Merge remote-tracking branch 'origin/main' into smowton/admin/merge-rc317-into-main 2025-03-19 16:01:29 +00:00
Simon Friis Vindum
0d770c8c91 Rust: Improve handling of type parameters with trait bounds 2025-03-19 16:34:23 +01:00
Simon Friis Vindum
aa97bf932a Rust: Add type inference tests 2025-03-19 13:26:06 +01:00
Simon Friis Vindum
b2b650ddd3 Rust: Rename classes with Record to Struct 2025-03-19 12:05:39 +01:00