Paolo Tranquilli
75375be7ac
Rust: add optional dependencies to ql tests
...
Also accept `options.yml` and `options.yaml` files as well for test options,
to get YAML syntax highlighting. In a follow up PR we might make the extension
mandatory.
2024-11-18 09:42:01 +01:00
Cornelius Riemenschneider
3fdd35cfdc
Merge pull request #17976 from github/criemen/rust-3rdparty
...
Rust: Vendor build files for 3rdparty dependencies.
2024-11-14 12:58:00 +01:00
Tom Hvitved
2bb5603b30
Merge pull request #17949 from paldepind/rust-async-blocks
...
Rust: Handle async blocks in CFG and SSA
2024-11-13 13:51:20 +01:00
Cornelius Riemenschneider
a66f8209f9
Rust: Vendor 3rdparty dependencies.
...
We've been observing some performance issues using crate_universe on CI.
Therefore, we're moving to vendor the auto-generated BUILD files
in our repository. This should provide a nice speed boost, while
getting rid of the complexity of the "rust cache" job we've been using
when we had a lot of git dependencies.
This PR includes a vendor script, and I'll put up a CI job internally
that runs that vendor script on Cargo.toml and Cargo.lock changes, to check
that the vendored files are in sync.
2024-11-13 13:22:14 +01:00
Simon Friis Vindum
274d9421a7
Rust: Cache getEnclosingCfgScope
2024-11-12 13:15:20 +01:00
Simon Friis Vindum
d9d3027667
Rust: Make improvements to getArgString based on PR comments
2024-11-12 09:45:33 +01:00
Simon Friis Vindum
03292310b6
Merge branch 'main' into rust-async-blocks
2024-11-12 09:36:04 +01:00
Simon Friis Vindum
63d84edfae
Rust: Fix minor issues from PR feedback
2024-11-12 08:37:56 +01:00
Simon Friis Vindum
cd2038a8f8
Rust: Setup inline flow test library
2024-11-11 16:41:59 +01:00
Simon Friis Vindum
aebce746df
Rust: Create data flow nodes for parameters in the CFG
...
Before data flow nodes where created for all parameters in the AST. But
some AST parameters does not lead to any data flow (for instance
parameters in function pointer types).
2024-11-11 11:46:10 +01:00
Simon Friis Vindum
6a3d417836
Rust: Implement enclosing callable for additional classes
2024-11-11 11:11:29 +01:00
Simon Friis Vindum
bf07aa1cbd
Merge pull request #17947 from paldepind/rust-ssa-node-printing
...
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 09:55:26 +01:00
Simon Friis Vindum
9f0fba16cd
Rust: Fix grammar and add documentation comments
2024-11-11 09:46:47 +01:00
Simon Friis Vindum
db1b698689
Rust: Accept fixed spurious results
2024-11-11 08:59:34 +01:00
Simon Friis Vindum
54172774d5
Merge branch 'main' into rust-async-blocks
2024-11-11 08:50:51 +01:00
Simon Friis Vindum
55796badaf
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 08:48:48 +01:00
Simon Friis Vindum
a5e13ee71b
Rust: Handle async blocks in SSA analysis
2024-11-10 11:59:37 +01:00
Simon Friis Vindum
74a6d9812d
Rust: Add SSA test for async blocks
2024-11-10 11:33:03 +01:00
Simon Friis Vindum
8e6844e4da
Merge branch 'main' into rust-async-blocks
2024-11-10 09:28:14 +01:00
Geoffrey White
727a7d4957
Merge branch 'main' into unreachable4
2024-11-08 17:39:15 +00:00
Paolo Tranquilli
9684df8535
Rust: accept some inconsitencies for now
...
The modified result is just a change due to a semantic conflict after introducing some
`toString` implementations.
The new inconsistency should be looked at more in detail.
2024-11-08 18:05:19 +01:00
Geoffrey White
c7112ef278
Rust: Accept consistency check changes.
2024-11-08 14:22:04 +00:00
Simon Friis Vindum
d52a2d67a2
Rust: Create CFG scope for async blocks
2024-11-08 15:00:02 +01:00
Simon Friis Vindum
e05b126215
Rust: Add CFG tests for async/await and const
2024-11-08 14:50:07 +01:00
Paolo Tranquilli
9cea631399
Merge pull request #17931 from github/redsun82/rust-target-dir
...
Rust: allow to specify the target directory
2024-11-08 13:34:03 +01:00
Paolo Tranquilli
26839f5e15
Merge pull request #17882 from github/redsun82/rust-resolve
...
Rust: extract some resolved paths
2024-11-08 13:33:41 +01:00
Geoffrey White
3805d0f958
Merge branch 'main' into unreachable4
2024-11-08 11:46:34 +00:00
Geoffrey White
7c2c5ee1fa
Rust: Fix expected consistency results.
2024-11-08 11:22:35 +00:00
Geoffrey White
fc444f1f9a
Merge branch 'main' into unusedvar8
2024-11-08 11:20:12 +00:00
Simon Friis Vindum
f2569c45a9
Merge pull request #17921 from paldepind/rust-df-enclosing-callable
...
Rust: Implement enclosing callable
2024-11-08 10:36:59 +01:00
Paolo Tranquilli
083394073a
Rust: rename target_dir to cargo_target_dir, add to extraction options
...
Also removed the now unused `extract_dependencies` one.
2024-11-08 09:53:50 +01:00
Simon Friis Vindum
22835c28ff
Rust: Make a return node the last node before function exit
2024-11-07 15:21:11 +01:00
Simon Friis Vindum
1a000ecb46
Rust: Make minor data flow changes based on PR feedback
2024-11-07 13:04:54 +01:00
Paolo Tranquilli
4f6fda0100
Rust: allow to specify the target directory
2024-11-07 12:45:20 +01:00
Paolo Tranquilli
3488b9fbca
Merge pull request #17920 from github/redsun82/rust-files
...
Rust: exclude uncompiled files from semantics and surface semantic-less reason
2024-11-07 11:04:12 +01:00
Geoffrey White
df7bcfd116
Rust: Accept dataflow consistency check changes.
2024-11-07 09:54:39 +00:00
Paolo Tranquilli
64d522e447
Rust: address review
2024-11-07 09:39:44 +01:00
Geoffrey White
b3f7a8a46f
Merge pull request #17908 from geoffw0/dfcons
...
Rust: Expose counts of data flow inconsistencies
2024-11-06 19:11:04 +00:00
Geoffrey White
18ce8be302
Update rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2024-11-06 19:00:10 +00:00
Geoffrey White
fbfdd57383
Rust: Additional test cases for rust/dead-code.
2024-11-06 17:43:04 +00:00
Geoffrey White
a8b1cb3243
Rust: Make it so that all of the test functions may return.
2024-11-06 17:23:01 +00:00
Paolo Tranquilli
200715773f
Rust: fix no_semantics_reason
2024-11-06 17:19:06 +01:00
Simon Friis Vindum
dadc6059a8
Rust: Implement enclosing callable
2024-11-06 16:23:24 +01:00
Paolo Tranquilli
2987743e44
Rust: exclude uncompiled files from semantics and surface semanticless reason
2024-11-06 15:22:28 +01:00
Geoffrey White
bf0e1008ce
Rust: Move some test cases together.
2024-11-06 13:14:52 +00:00
Simon Friis Vindum
ff80b249ca
Merge pull request #17917 from paldepind/rust-df-types
...
Rust: Fix unique type data flow inconsistency
2024-11-06 14:02:00 +01:00
Simon Friis Vindum
60986d8c9b
Rust: Fix unique type data flow inconsistency
2024-11-06 13:48:10 +01:00
Tom Hvitved
f8058e40af
Merge pull request #17915 from hvitved/rust/pat-literal-cfg
...
Rust: Include literals in the CFG for literal patterns
2024-11-06 13:09:49 +01:00
Geoffrey White
8a35e151d1
Rust: Move the function pointer parameter exclusion into VariableImpl.qll.
2024-11-06 10:51:41 +00:00
Tom Hvitved
9392bf796a
Rust: Include literals in the CFG for literal patterns
2024-11-06 09:21:52 +01:00