Commit Graph

1961 Commits

Author SHA1 Message Date
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
Paolo Tranquilli
07c59f7562 Rust: fix integration tests 2024-11-11 09:55:46 +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
Paolo Tranquilli
0298743f2a Merge branch 'main' into redsun82/rust-cargo-options 2024-11-11 09:47:59 +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
98b7d50e8a Rust: avoid test name with * 2024-11-08 18:20:09 +01:00
Paolo Tranquilli
d9d37dc341 Merge branch 'main' into redsun82/rust-cargo-options 2024-11-08 18:17:54 +01: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
Paolo Tranquilli
94ba6473dd Merge branch 'main' into redsun82/rust-cargo-options 2024-11-08 17:54:59 +01:00
Paolo Tranquilli
f77f2b7ff0 Rust: turn off the test cfg by default 2024-11-08 17:07:03 +01:00
Paolo Tranquilli
a13c70bd11 Rust: add integration test for cargo options 2024-11-08 16:50:21 +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
Geoffrey White
ede72b2680 Rust: Add unresolved macro calls count as well. 2024-11-08 13:59:05 +00: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
f827ad8157 Rust: Add missing @kind diagnostic query metadata. 2024-11-08 12:33:06 +00:00
Paolo Tranquilli
b9ea78fb32 Rust: fix vector options 2024-11-08 13:06:22 +01:00
Geoffrey White
3805d0f958 Merge branch 'main' into unreachable4 2024-11-08 11:46:34 +00:00
Paolo Tranquilli
be45e3deed Rust: allow to specify more cargo configuration options
This allows to tweak via extractor options some aspects of the cargo
configuration:
* the target architecture
* features (including `*` for all, which we must understand whether to
  set by default)
* cfg overrides

Integration tests will be added in a follow-up commit.
2024-11-08 12:23:16 +01: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
Geoffrey White
04926df6ea Rust: Add rust/diagnostics/unresolved-macro-calls diagnostic query. 2024-11-08 10:19:43 +00:00
Geoffrey White
0d1bd8a9cd Rust: Add 'order by' to the summary stats query (doesn't seem to affect the test, but affects VSCode runs). 2024-11-08 10:19:42 +00:00
Geoffrey White
7b265b2df3 Rust: Add a deliberately unresolvable macro call to the test. 2024-11-08 09:53:32 +00:00
Geoffrey White
7279cc42f8 Rust: Add resolved macros to rust/summary/summary-stats. 2024-11-08 09:49:47 +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