Commit Graph

1896 Commits

Author SHA1 Message Date
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
Tom Hvitved
179bae8791 Merge pull request #19025 from hvitved/rust/rust-analyzer-comparison
Rust: Add telemetry for comparing against `rust-analyzer`
2025-03-19 11:06:27 +01:00
Tom Hvitved
0bf2bfa2f1 Rust: Take depdency renaming into account when extracting the crate graph 2025-03-19 08:39:22 +01:00
Arthur Baars
81f954a42e Rust: add missing QLDocs 2025-03-18 19:16:19 +01:00
Arthur Baars
a3cc695da4 Rust: update integration test output 2025-03-18 19:16:17 +01:00
Arthur Baars
f08d1d10f1 Rust: tainted path implement basic sanitizers 2025-03-18 19:16:13 +01:00
Arthur Baars
ecca805c34 Rust: add Dataflow::BarrierGuard module 2025-03-18 19:13:37 +01:00
Arthur Baars
0fd69eaa43 Add QL test 2025-03-18 19:13:30 +01:00
Arthur Baars
4b5883ab79 Add a bit of modelling 2025-03-18 19:10:05 +01:00
Arthur Baars
8223dded99 Rust: TaintedPath query 2025-03-18 19:10:03 +01:00
Arthur Baars
f53de135e6 Merge pull request #19024 from github/aibaars/mut-borrow
Rust: SSA: restrict mutablyBorrowed to variables with a 'mut' modifier
2025-03-18 16:57:32 +01:00
Simon Friis Vindum
7a18da82fa Merge pull request #19000 from paldepind/rust-cleartext-transmission
Rust: Add cleartext transmission query
2025-03-17 14:56:57 +01:00
github-actions[bot]
51cdeefafb Post-release preparation for codeql-cli-2.20.7 2025-03-17 13:00:41 +00:00
Simon Friis Vindum
81b28df089 Merge branch 'main' into rust-type-inference-tweaks 2025-03-17 13:18:45 +01:00
github-actions[bot]
2d64a618e6 Release preparation for version 2.20.7 2025-03-17 12:15:54 +00:00
Simon Friis Vindum
e9ca43ae94 Merge pull request #19039 from paldepind/rust-cfg-uppercase
Rust: Assume in the CFG that lowercase identifiers are in fact identifiers
2025-03-17 12:40:56 +01:00
Paolo Tranquilli
a2851f753c Merge pull request #18968 from hvitved/rust/cache-to-string
Rust/Swift: Cache `Element.toString`
2025-03-17 12:08:27 +01:00
Tom Hvitved
0e3907b2a8 Merge pull request #19035 from hvitved/rust/type-inference-path-limit
Rust: Limit `TypePath`s to at most length 10
2025-03-17 12:01:31 +01:00
Simon Friis Vindum
17d6cb626d Rust: Assume in the CFG that lowercase identifiers are in fact identifiers 2025-03-17 08:40:02 +01:00
Simon Friis Vindum
0bf826559c Rust: Apply qhelp suggestions from review
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2025-03-17 07:56:37 +01:00
Simon Friis Vindum
1b7f4e4d4b Rust: Add type inference tests and rename modules 2025-03-17 07:41:47 +01:00
Simon Friis Vindum
72346cc392 Merge pull request #19004 from paldepind/rust-data-flow-split
Rust: Extract data flow node and content into separate files
2025-03-17 07:02:35 +01:00
Tom Hvitved
dfc39272b4 Rust: Limit TypePaths to at most length 10 2025-03-16 20:35:16 +01:00
Simon Friis Vindum
4c3768f771 Rust: Add comments for type inference 2025-03-15 13:51:15 +01:00
Simon Friis Vindum
422d9e1f93 Rust: Minor refactoring of type inference 2025-03-15 13:47:08 +01:00
Tom Hvitved
a56493cbbc Merge pull request #19028 from hvitved/rust/crate-locatable 2025-03-14 20:27:33 +01:00
Tom Hvitved
89f6245772 Rust: Add telemetry for comparing against rust-analyzer 2025-03-14 14:48:15 +01:00
Simon Friis Vindum
5a3bf90b1f Rust: Add qldoc comments 2025-03-14 13:31:03 +01:00
Simon Friis Vindum
a96a5fc737 Rust: Address PR comments 2025-03-14 13:24:16 +01:00
Tom Hvitved
0dd59cbb25 Rust: Make Crate a sub class of Locatable 2025-03-14 13:18:02 +01:00