-
Couldn't load subscription status.
- Fork 1.8k
Rust: Generalize more models #20702
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
base: main
Are you sure you want to change the base?
Rust: Generalize more models #20702
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR generalizes existing models in the Rust CodeQL library by converting specific implementations to trait-based models, improving their applicability across different types. This follows previous work in PR #20652.
Key changes:
- Converted implementation-specific models to trait models using
<_ as Trait>notation - Added a new iterator model for async operations
- Updated test expectations to reflect newly detected taint flows
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
rust/ql/test/library-tests/dataflow/sources/net/test.rs |
Removed MISSING annotations indicating newly detected taint flows |
rust/ql/test/library-tests/dataflow/sources/net/InlineFlow.expected |
Updated test expectations with new model IDs and flow edges |
rust/ql/lib/codeql/rust/frameworks/stdlib/net.model.yml |
Generalized TcpStream read models to trait-based std::io::Read models |
rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml |
Added trait model for async iterator next operation |
rust/ql/lib/codeql/rust/frameworks/rustls.model.yml |
Removed duplicate models now covered by generalized trait models |
rust/ql/lib/codeql/rust/frameworks/mysql.model.yml |
Generalized PooledConn models to trait-based Queryable models |
rust/ql/lib/codeql/rust/frameworks/mysql-async.model.yml |
Generalized Conn models to trait-based Queryable models |
rust/ql/lib/codeql/rust/frameworks/futures.model.yml |
Removed Box-specific iterator model and added generalized AsyncRead poll_read model |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
I'm having a bit of difficulty with DCA runs failing, and I really do want to see the results for this PR. Please bare with me. |
Generalize more existing models to trait models. Follows on from #20652 and is covered by the same change note (assuming we merge soon enough).