Rust: replace last hand-written instances of Field[crate::

This commit is contained in:
Paolo Tranquilli
2025-06-11 16:45:10 +02:00
parent c6c52edbee
commit bea5381420
6 changed files with 36 additions and 36 deletions

View File

@@ -3,4 +3,4 @@ extensions:
pack: codeql/rust-all
extensible: sourceModel
data:
- ["repo:https://github.com/async-rs/async-std:async-std", "<crate::net::tcp::stream::TcpStream>::connect", "ReturnValue.Future.Field[crate::result::Result::Ok(0)]", "remote", "manual"]
- ["repo:https://github.com/async-rs/async-std:async-std", "<crate::net::tcp::stream::TcpStream>::connect", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "remote", "manual"]

View File

@@ -13,7 +13,7 @@ extensions:
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::read_line", "Argument[self].Reference", "Argument[0].Reference", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::read_until", "Argument[self]", "Argument[1].Reference", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::read_until", "Argument[self].Reference", "Argument[1].Reference", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::fill_buf", "Argument[self]", "ReturnValue.Future.Field[crate::result::Result::Ok(0)]", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::fill_buf", "Argument[self]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::io::AsyncBufReadExt::lines", "Argument[self]", "ReturnValue", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::stream::stream::StreamExt::next", "Argument[self]", "ReturnValue.Future.Field[crate::option::Option::Some(0)]", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "<crate::io::buf_reader::BufReader as crate::if_std::AsyncBufRead>::poll_fill_buf", "Argument[self].Reference", "ReturnValue.Field[crate::task::poll::Poll::Ready(0)].Field[crate::result::Result::Ok(0)]", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "crate::stream::stream::StreamExt::next", "Argument[self]", "ReturnValue.Future.Field[core::option::Option::Some(0)]", "taint", "manual"]
- ["repo:https://github.com/rust-lang/futures-rs:futures-util", "<crate::io::buf_reader::BufReader as crate::if_std::AsyncBufRead>::poll_fill_buf", "Argument[self].Reference", "ReturnValue.Field[core::task::poll::Poll::Ready(0)].Field[core::result::Result::Ok(0)]", "taint", "manual"]

View File

@@ -3,12 +3,12 @@ extensions:
pack: codeql/rust-all
extensible: sourceModel
data:
- ["repo:https://github.com/rustls/rustls:rustls", "<crate::client::client_conn::connection::ClientConnection>::new", "ReturnValue.Field[crate::result::Result::Ok(0)]", "remote", "manual"]
- ["repo:https://github.com/rustls/rustls:rustls", "<crate::client::client_conn::connection::ClientConnection>::new", "ReturnValue.Field[core::result::Result::Ok(0)]", "remote", "manual"]
- addsTo:
pack: codeql/rust-all
extensible: summaryModel
data:
- ["repo:https://github.com/quininer/futures-rustls:futures-rustls", "<crate::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[crate::result::Result::Ok(0)]", "taint", "manual"]
- ["repo:https://github.com/quininer/futures-rustls:futures-rustls", "<crate::TlsConnector>::connect", "Argument[1]", "ReturnValue.Future.Field[core::result::Result::Ok(0)]", "taint", "manual"]
- ["repo:https://github.com/quininer/futures-rustls:futures-rustls", "<crate::client::TlsStream as crate::if_std::AsyncRead>::poll_read", "Argument[self].Reference", "Argument[1].Reference", "taint", "manual"]
- ["repo:https://github.com/rustls/rustls:rustls", "<crate::conn::ConnectionCommon>::reader", "Argument[self]", "ReturnValue", "taint", "manual"]
- ["repo:https://github.com/rustls/rustls:rustls", "<crate::conn::connection::Reader as crate::io::Read>::read", "Argument[self]", "Argument[0].Reference", "taint", "manual"]

View File

@@ -1,25 +1,25 @@
models
| 1 | Sink: repo::test; <crate::MyFieldEnum>::sink; test-sink; Argument[self].Field[crate::MyFieldEnum::D::field_d] |
| 2 | Sink: repo::test; crate::enum_sink; test-sink; Argument[0].Field[crate::MyFieldEnum::C::field_c] |
| 1 | Sink: repo::test; <crate::MyFieldEnum>::sink; test-sink; Argument[self].Field[test::MyFieldEnum::D::field_d] |
| 2 | Sink: repo::test; crate::enum_sink; test-sink; Argument[0].Field[test::MyFieldEnum::C::field_c] |
| 3 | Sink: repo::test; crate::simple_sink; test-sink; Argument[0] |
| 4 | Source: repo::test; <crate::MyFieldEnum>::source; test-source; ReturnValue.Field[crate::MyFieldEnum::C::field_c] |
| 4 | Source: repo::test; <crate::MyFieldEnum>::source; test-source; ReturnValue.Field[test::MyFieldEnum::C::field_c] |
| 5 | Source: repo::test; crate::arg_source; test-source; Argument[0] |
| 6 | Source: repo::test; crate::enum_source; test-source; ReturnValue.Field[crate::MyFieldEnum::D::field_d] |
| 6 | Source: repo::test; crate::enum_source; test-source; ReturnValue.Field[test::MyFieldEnum::D::field_d] |
| 7 | Source: repo::test; crate::simple_source; test-source; ReturnValue |
| 8 | Summary: repo::test; crate::apply; Argument[0]; Argument[1].Parameter[0]; value |
| 9 | Summary: repo::test; crate::apply; Argument[1].ReturnValue; ReturnValue; value |
| 10 | Summary: repo::test; crate::coerce; Argument[0]; ReturnValue; taint |
| 11 | Summary: repo::test; crate::get_array_element; Argument[0].Element; ReturnValue; value |
| 12 | Summary: repo::test; crate::get_async_number; Argument[0]; ReturnValue.Future; value |
| 13 | Summary: repo::test; crate::get_struct_field; Argument[0].Field[crate::MyStruct::field1]; ReturnValue; value |
| 13 | Summary: repo::test; crate::get_struct_field; Argument[0].Field[test::MyStruct::field1]; ReturnValue; value |
| 14 | Summary: repo::test; crate::get_tuple_element; Argument[0].Field[0]; ReturnValue; value |
| 15 | Summary: repo::test; crate::get_var_field; Argument[0].Field[crate::MyFieldEnum::C::field_c]; ReturnValue; value |
| 16 | Summary: repo::test; crate::get_var_pos; Argument[0].Field[crate::MyPosEnum::A(0)]; ReturnValue; value |
| 15 | Summary: repo::test; crate::get_var_field; Argument[0].Field[test::MyFieldEnum::C::field_c]; ReturnValue; value |
| 16 | Summary: repo::test; crate::get_var_pos; Argument[0].Field[test::MyPosEnum::A(0)]; ReturnValue; value |
| 17 | Summary: repo::test; crate::set_array_element; Argument[0]; ReturnValue.Element; value |
| 18 | Summary: repo::test; crate::set_struct_field; Argument[0]; ReturnValue.Field[crate::MyStruct::field2]; value |
| 18 | Summary: repo::test; crate::set_struct_field; Argument[0]; ReturnValue.Field[test::MyStruct::field2]; value |
| 19 | Summary: repo::test; crate::set_tuple_element; Argument[0]; ReturnValue.Field[1]; value |
| 20 | Summary: repo::test; crate::set_var_field; Argument[0]; ReturnValue.Field[crate::MyFieldEnum::D::field_d]; value |
| 21 | Summary: repo::test; crate::set_var_pos; Argument[0]; ReturnValue.Field[crate::MyPosEnum::B(0)]; value |
| 20 | Summary: repo::test; crate::set_var_field; Argument[0]; ReturnValue.Field[test::MyFieldEnum::D::field_d]; value |
| 21 | Summary: repo::test; crate::set_var_pos; Argument[0]; ReturnValue.Field[test::MyPosEnum::B(0)]; value |
edges
| main.rs:15:9:15:9 | s | main.rs:16:19:16:19 | s | provenance | |
| main.rs:15:9:15:9 | s | main.rs:16:19:16:19 | s | provenance | |

View File

@@ -4,27 +4,27 @@ extensions:
extensible: sourceModel
data:
- ["repo::test", "crate::simple_source", "ReturnValue", "test-source", "manual"]
- ["repo::test", "crate::enum_source", "ReturnValue.Field[crate::MyFieldEnum::D::field_d]", "test-source", "manual"]
- ["repo::test", "<crate::MyFieldEnum>::source", "ReturnValue.Field[crate::MyFieldEnum::C::field_c]", "test-source", "manual"]
- ["repo::test", "crate::enum_source", "ReturnValue.Field[test::MyFieldEnum::D::field_d]", "test-source", "manual"]
- ["repo::test", "<crate::MyFieldEnum>::source", "ReturnValue.Field[test::MyFieldEnum::C::field_c]", "test-source", "manual"]
- ["repo::test", "crate::arg_source", "Argument[0]", "test-source", "manual"]
- addsTo:
pack: codeql/rust-all
extensible: sinkModel
data:
- ["repo::test", "crate::simple_sink", "Argument[0]", "test-sink", "manual"]
- ["repo::test", "crate::enum_sink", "Argument[0].Field[crate::MyFieldEnum::C::field_c]", "test-sink", "manual"]
- ["repo::test", "<crate::MyFieldEnum>::sink", "Argument[self].Field[crate::MyFieldEnum::D::field_d]", "test-sink", "manual"]
- ["repo::test", "crate::enum_sink", "Argument[0].Field[test::MyFieldEnum::C::field_c]", "test-sink", "manual"]
- ["repo::test", "<crate::MyFieldEnum>::sink", "Argument[self].Field[test::MyFieldEnum::D::field_d]", "test-sink", "manual"]
- addsTo:
pack: codeql/rust-all
extensible: summaryModel
data:
- ["repo::test", "crate::coerce", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["repo::test", "crate::get_var_pos", "Argument[0].Field[crate::MyPosEnum::A(0)]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_var_pos", "Argument[0]", "ReturnValue.Field[crate::MyPosEnum::B(0)]", "value", "manual"]
- ["repo::test", "crate::get_var_field", "Argument[0].Field[crate::MyFieldEnum::C::field_c]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_var_field", "Argument[0]", "ReturnValue.Field[crate::MyFieldEnum::D::field_d]", "value", "manual"]
- ["repo::test", "crate::get_struct_field", "Argument[0].Field[crate::MyStruct::field1]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_struct_field", "Argument[0]", "ReturnValue.Field[crate::MyStruct::field2]", "value", "manual"]
- ["repo::test", "crate::get_var_pos", "Argument[0].Field[test::MyPosEnum::A(0)]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_var_pos", "Argument[0]", "ReturnValue.Field[test::MyPosEnum::B(0)]", "value", "manual"]
- ["repo::test", "crate::get_var_field", "Argument[0].Field[test::MyFieldEnum::C::field_c]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_var_field", "Argument[0]", "ReturnValue.Field[test::MyFieldEnum::D::field_d]", "value", "manual"]
- ["repo::test", "crate::get_struct_field", "Argument[0].Field[test::MyStruct::field1]", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_struct_field", "Argument[0]", "ReturnValue.Field[test::MyStruct::field2]", "value", "manual"]
- ["repo::test", "crate::get_array_element", "Argument[0].Element", "ReturnValue", "value", "manual"]
- ["repo::test", "crate::set_array_element", "Argument[0]", "ReturnValue.Element", "value", "manual"]
- ["repo::test", "crate::get_tuple_element", "Argument[0].Field[0]", "ReturnValue", "value", "manual"]

View File

@@ -16,12 +16,12 @@ pub enum Either<A, B> {
use Either::*;
impl<A, B> Either<A, B> {
// summary=repo::test;<crate::summaries::Either>::new;Argument[0];ReturnValue.Field[crate::summaries::Either::Right(0)];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::new;Argument[0];ReturnValue.Field[test::summaries::Either::Right(0)];value;dfc-generated
pub fn new(b: B) -> Self {
Right(b)
}
// summary=repo::test;<crate::summaries::Either>::unwrap;Argument[self].Field[crate::summaries::Either::Right(0)];ReturnValue;value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::unwrap;Argument[self].Field[test::summaries::Either::Right(0)];ReturnValue;value;dfc-generated
pub fn unwrap(self) -> B {
match self {
Left(a) => panic!("Left cannot be unwrapped"),
@@ -29,10 +29,10 @@ impl<A, B> Either<A, B> {
}
}
// summary=repo::test;<crate::summaries::Either>::zip;Argument[0].Field[crate::summaries::Either::Left(0)];ReturnValue.Field[crate::summaries::Either::Left(0)];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[0].Field[crate::summaries::Either::Right(0)];ReturnValue.Field[crate::summaries::Either::Right(0)].Field[1];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[self].Field[crate::summaries::Either::Left(0)];ReturnValue.Field[crate::summaries::Either::Left(0)];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[self].Field[crate::summaries::Either::Right(0)];ReturnValue.Field[crate::summaries::Either::Right(0)].Field[0];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[0].Field[test::summaries::Either::Left(0)];ReturnValue.Field[test::summaries::Either::Left(0)];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[0].Field[test::summaries::Either::Right(0)];ReturnValue.Field[test::summaries::Either::Right(0)].Field[1];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[self].Field[test::summaries::Either::Left(0)];ReturnValue.Field[test::summaries::Either::Left(0)];value;dfc-generated
// summary=repo::test;<crate::summaries::Either>::zip;Argument[self].Field[test::summaries::Either::Right(0)];ReturnValue.Field[test::summaries::Either::Right(0)].Field[0];value;dfc-generated
pub fn zip<C>(self, other: Either<A, C>) -> Either<A, (B, C)> {
match (self, other) {
(Right(b), Right(d)) => Right((b, d)),
@@ -48,20 +48,20 @@ pub struct MyStruct {
}
impl MyStruct {
// summary=repo::test;<crate::summaries::MyStruct>::new;Argument[0];ReturnValue.Field[crate::summaries::MyStruct::foo];value;dfc-generated
// summary=repo::test;<crate::summaries::MyStruct>::new;Argument[1];ReturnValue.Field[crate::summaries::MyStruct::bar];value;dfc-generated
// summary=repo::test;<crate::summaries::MyStruct>::new;Argument[0];ReturnValue.Field[test::summaries::MyStruct::foo];value;dfc-generated
// summary=repo::test;<crate::summaries::MyStruct>::new;Argument[1];ReturnValue.Field[test::summaries::MyStruct::bar];value;dfc-generated
pub fn new(a: i64, b: f64) -> MyStruct {
MyStruct { foo: a, bar: b }
}
// summary=repo::test;<crate::summaries::MyStruct>::get_foo;Argument[self].Field[crate::summaries::MyStruct::foo];ReturnValue;value;dfc-generated
// summary=repo::test;<crate::summaries::MyStruct>::get_foo;Argument[self].Field[test::summaries::MyStruct::foo];ReturnValue;value;dfc-generated
pub fn get_foo(self) -> i64 {
match self {
MyStruct { foo, bar: _ } => foo,
}
}
// summary=repo::test;<crate::summaries::MyStruct>::get_bar;Argument[self].Field[crate::summaries::MyStruct::bar];ReturnValue;value;dfc-generated
// summary=repo::test;<crate::summaries::MyStruct>::get_bar;Argument[self].Field[test::summaries::MyStruct::bar];ReturnValue;value;dfc-generated
pub fn get_bar(self) -> f64 {
match self {
MyStruct { foo: _, bar } => bar,