Skip to content

Conversation

@geoffw0
Copy link
Contributor

@geoffw0 geoffw0 commented Oct 27, 2025

Generalize more existing models to trait models. Follows on from #20652 and is covered by the same change note (assuming we merge soon enough).

@geoffw0 geoffw0 requested a review from a team as a code owner October 27, 2025 15:14
@geoffw0 geoffw0 added the no-change-note-required This PR does not need a change note label Oct 27, 2025
Copilot AI review requested due to automatic review settings October 27, 2025 15:14
@geoffw0 geoffw0 added the Rust Pull requests that update Rust code label Oct 27, 2025
Copy link
Contributor

Copilot AI left a 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.

@geoffw0
Copy link
Contributor Author

geoffw0 commented Oct 28, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-change-note-required This PR does not need a change note Rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants