Skip to content

Commit 7c986d8

Browse files
committed
Rust: Make current MaD predicates deprecated
In preparation for a transition period where we will allow for MaD definitions using extractor-provided canonical paths as well as the future QL-provided canonical paths.
1 parent 40624b2 commit 7c986d8

26 files changed

+53
-53
lines changed

rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private import codeql.rust.dataflow.FlowSink
5858
* For more information on the `kind` parameter, see
5959
* https://github.com/github/codeql/blob/main/docs/codeql/reusables/threat-model-description.rst.
6060
*/
61-
extensible predicate sourceModel(
61+
extensible predicate sourceModelDeprecated(
6262
string crate, string path, string output, string kind, string provenance,
6363
QlBuiltins::ExtensionId madId
6464
);
@@ -74,7 +74,7 @@ extensible predicate sourceModel(
7474
*
7575
* - `sql-injection`: a flow sink for SQL injection.
7676
*/
77-
extensible predicate sinkModel(
77+
extensible predicate sinkModelDeprecated(
7878
string crate, string path, string input, string kind, string provenance,
7979
QlBuiltins::ExtensionId madId
8080
);
@@ -87,7 +87,7 @@ extensible predicate sinkModel(
8787
* `kind` should be either `value` or `taint`, for value-preserving or taint-preserving
8888
* steps, respectively.
8989
*/
90-
extensible predicate summaryModel(
90+
extensible predicate summaryModelDeprecated(
9191
string crate, string path, string input, string output, string kind, string provenance,
9292
QlBuiltins::ExtensionId madId
9393
);
@@ -99,17 +99,17 @@ extensible predicate summaryModel(
9999
*/
100100
predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) {
101101
exists(string crate, string path, string output, string kind |
102-
sourceModel(crate, path, kind, output, _, madId) and
102+
sourceModelDeprecated(crate, path, kind, output, _, madId) and
103103
model = "Source: " + crate + "; " + path + "; " + output + "; " + kind
104104
)
105105
or
106106
exists(string crate, string path, string input, string kind |
107-
sinkModel(crate, path, kind, input, _, madId) and
107+
sinkModelDeprecated(crate, path, kind, input, _, madId) and
108108
model = "Sink: " + crate + "; " + path + "; " + input + "; " + kind
109109
)
110110
or
111111
exists(string type, string path, string input, string output, string kind |
112-
summaryModel(type, path, input, output, kind, _, madId) and
112+
summaryModelDeprecated(type, path, input, output, kind, _, madId) and
113113
model = "Summary: " + type + "; " + path + "; " + input + "; " + output + "; " + kind
114114
)
115115
}
@@ -119,15 +119,15 @@ private class SummarizedCallableFromModel extends SummarizedCallable::Range {
119119
private string path;
120120

121121
SummarizedCallableFromModel() {
122-
summaryModel(crate, path, _, _, _, _, _) and
122+
summaryModelDeprecated(crate, path, _, _, _, _, _) and
123123
this = crate + "::_::" + path
124124
}
125125

126126
override predicate propagatesFlow(
127127
string input, string output, boolean preservesValue, string model
128128
) {
129129
exists(string kind, QlBuiltins::ExtensionId madId |
130-
summaryModel(crate, path, input, output, kind, _, madId) and
130+
summaryModelDeprecated(crate, path, input, output, kind, _, madId) and
131131
model = "MaD:" + madId.toString()
132132
|
133133
kind = "value" and
@@ -144,13 +144,13 @@ private class FlowSourceFromModel extends FlowSource::Range {
144144
private string path;
145145

146146
FlowSourceFromModel() {
147-
sourceModel(crate, path, _, _, _, _) and
147+
sourceModelDeprecated(crate, path, _, _, _, _) and
148148
this.callResolvesTo(crate, path)
149149
}
150150

151151
override predicate isSource(string output, string kind, Provenance provenance, string model) {
152152
exists(QlBuiltins::ExtensionId madId |
153-
sourceModel(crate, path, output, kind, provenance, madId) and
153+
sourceModelDeprecated(crate, path, output, kind, provenance, madId) and
154154
model = "MaD:" + madId.toString()
155155
)
156156
}
@@ -161,13 +161,13 @@ private class FlowSinkFromModel extends FlowSink::Range {
161161
private string path;
162162

163163
FlowSinkFromModel() {
164-
sinkModel(crate, path, _, _, _, _) and
164+
sinkModelDeprecated(crate, path, _, _, _, _) and
165165
this.callResolvesTo(crate, path)
166166
}
167167

168168
override predicate isSink(string input, string kind, Provenance provenance, string model) {
169169
exists(QlBuiltins::ExtensionId madId |
170-
sinkModel(crate, path, input, kind, provenance, madId) and
170+
sinkModelDeprecated(crate, path, input, kind, provenance, madId) and
171171
model = "MaD:" + madId.toString()
172172
)
173173
}

rust/ql/lib/codeql/rust/dataflow/internal/empty.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ extensions:
33
# to avoid errors about undefined extensionals.
44
- addsTo:
55
pack: codeql/rust-all
6-
extensible: sourceModel
6+
extensible: sourceModelDeprecated
77
data: []
88

99
- addsTo:
1010
pack: codeql/rust-all
11-
extensible: sinkModel
11+
extensible: sinkModelDeprecated
1212
data: []
1313

1414
- addsTo:
1515
pack: codeql/rust-all
16-
extensible: summaryModel
16+
extensible: summaryModelDeprecated
1717
data: []
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: summaryModel
4+
extensible: summaryModelDeprecated
55
data:
66
- ["repo:https://github.com/rust-lang/futures-rs:futures-executor", "crate::local_pool::block_on", "Argument[0]", "ReturnValue", "value", "manual"]

rust/ql/lib/codeql/rust/frameworks/http.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["repo:https://github.com/hyperium/hyper:hyper", "<crate::client::conn::http1::SendRequest>::send_request", "ReturnValue.Future.Field[crate::result::Result::Ok(0)]", "remote", "manual"]
77
- ["repo:https://github.com/hyperium/hyper:hyper", "<crate::client::conn::http2::SendRequest>::send_request", "ReturnValue.Future.Field[crate::result::Result::Ok(0)]", "remote", "manual"]

rust/ql/lib/codeql/rust/frameworks/libc.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["repo:https://github.com/rust-lang/libc:libc", "::free", "Argument[0]", "pointer-invalidate", "manual"]
77
- addsTo:
88
pack: codeql/rust-all
9-
extensible: sinkModel
9+
extensible: sinkModelDeprecated
1010
data:
1111
- ["repo:https://github.com/rust-lang/libc:libc", "::malloc", "Argument[0]", "alloc-size", "manual"]
1212
- ["repo:https://github.com/rust-lang/libc:libc", "::aligned_alloc", "Argument[1]", "alloc-size", "manual"]

rust/ql/lib/codeql/rust/frameworks/log.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sinkModel
4+
extensible: sinkModelDeprecated
55
data:
66
- ["repo:https://github.com/rust-lang/log:log", "crate::__private_api::log", "Argument[0]", "log-injection", "manual"] # logger / args (pre v0.4.27)
77
- ["repo:https://github.com/rust-lang/log:log", "crate::__private_api::log", "Argument[1]", "log-injection", "manual"] # args / level (pre v0.4.27)

rust/ql/lib/codeql/rust/frameworks/postgres.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sinkModel
4+
extensible: sinkModelDeprecated
55
data:
66
- ["repo:https://github.com/sfackler/rust-postgres:postgres", "<crate::client::Client>::execute", "Argument[0]", "sql-injection", "manual"]
77
- ["repo:https://github.com/sfackler/rust-postgres:postgres", "<crate::client::Client>::batch_execute", "Argument[0]", "sql-injection", "manual"]

rust/ql/lib/codeql/rust/frameworks/regex.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["repo:https://github.com/rust-lang/regex:regex", "crate::escape", "Argument[0].Reference", "ReturnValue", "taint", "manual"]

rust/ql/lib/codeql/rust/frameworks/reqwest.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "crate::get", "ReturnValue.Field[crate::result::Result::Ok(0)]", "remote", "manual"]
77
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "crate::blocking::get", "ReturnValue.Field[crate::result::Result::Ok(0)]", "remote", "manual"]
88
- addsTo:
99
pack: codeql/rust-all
10-
extensible: sinkModel
10+
extensible: sinkModelDeprecated
1111
data:
1212
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::async_impl::client::Client>::request", "Argument[1]", "transmission", "manual"]
1313
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::blocking::client::Client>::request", "Argument[1]", "transmission", "manual"]
1414
- addsTo:
1515
pack: codeql/rust-all
16-
extensible: summaryModel
16+
extensible: summaryModelDeprecated
1717
data:
1818
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::response::Response>::text", "Argument[self]", "ReturnValue.Field[crate::result::Result::Ok(0)]", "taint", "manual"]
1919
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::response::Response>::text_with_charset", "Argument[self]", "ReturnValue.Field[crate::result::Result::Ok(0)]", "taint", "manual"]

rust/ql/lib/codeql/rust/frameworks/rusqlite.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sinkModel
4+
extensible: sinkModelDeprecated
55
data:
66
- ["repo:https://github.com/rusqlite/rusqlite:rusqlite", "<crate::Connection>::execute", "Argument[0]", "sql-injection", "manual"]
77
- ["repo:https://github.com/rusqlite/rusqlite:rusqlite", "<crate::Connection>::execute_batch", "Argument[0]", "sql-injection", "manual"]
@@ -12,7 +12,7 @@ extensions:
1212

1313
- addsTo:
1414
pack: codeql/rust-all
15-
extensible: sourceModel
15+
extensible: sourceModelDeprecated
1616
data:
1717
- ["repo:https://github.com/rusqlite/rusqlite:rusqlite", "<crate::row::Row>::get", "ReturnValue.Field[crate::result::Result::Ok(0)]", "database", "manual"]
1818
- ["repo:https://github.com/rusqlite/rusqlite:rusqlite", "<crate::row::Row>::get_unwrap", "ReturnValue", "database", "manual"]

rust/ql/lib/codeql/rust/frameworks/rustcrypto/rustcrypto.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sinkModel
4+
extensible: sinkModelDeprecated
55
data:
66
- ["repo:https://github.com/RustCrypto/traits:digest", "<_ as crate::digest::Digest>::new_with_prefix", "Argument[0]", "hasher-input", "manual"]
77
- ["repo:https://github.com/RustCrypto/traits:digest", "<_ as crate::digest::Digest>::update", "Argument[0]", "hasher-input", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/env.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["lang:std", "crate::env::args", "ReturnValue.Element", "commandargs", "manual"]
77
- ["lang:std", "crate::env::args_os", "ReturnValue.Element", "commandargs", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/fs.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["lang:std", "crate::fs::read", "ReturnValue.Field[crate::result::Result::Ok(0)]", "file", "manual"]
77
- ["lang:std", "crate::fs::read_to_string", "ReturnValue.Field[crate::result::Result::Ok(0)]", "file", "manual"]
@@ -12,7 +12,7 @@ extensions:
1212
- ["lang:std", "<crate::fs::File>::open_buffered", "ReturnValue.Field[crate::result::Result::Ok(0)]", "file", "manual"]
1313
- addsTo:
1414
pack: codeql/rust-all
15-
extensible: sinkModel
15+
extensible: sinkModelDeprecated
1616
data:
1717
- ["lang:std", "crate::fs::copy", "Argument[0]", "path-injection", "manual"]
1818
- ["lang:std", "crate::fs::copy", "Argument[1]", "path-injection", "manual"]
@@ -43,7 +43,7 @@ extensions:
4343
- ["lang:std", "<crate::fs::File>::open_buffered", "Argument[0]", "path-injection", "manual"]
4444
- addsTo:
4545
pack: codeql/rust-all
46-
extensible: summaryModel
46+
extensible: summaryModelDeprecated
4747
data:
4848
- ["lang:std", "<crate::path::PathBuf as crate::convert::From>::from", "Argument[0]", "ReturnValue", "taint", "manual"]
4949
- ["lang:std", "<crate::path::Path>::join", "Argument[self]", "ReturnValue", "taint", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/io.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
- ["lang:std", "crate::io::stdio::stdin", "ReturnValue", "stdin", "manual"]
77
- addsTo:
88
pack: codeql/rust-all
9-
extensible: summaryModel
9+
extensible: summaryModelDeprecated
1010
data:
1111
- ["lang:std", "<crate::io::buffered::bufreader::BufReader>::new", "Argument[0]", "ReturnValue", "taint", "manual"]
1212
- ["lang:std", "<crate::io::buffered::bufreader::BufReader as crate::io::BufRead>::fill_buf", "Argument[self]", "ReturnValue.Field[crate::result::Result::Ok(0)]", "taint", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/lang-alloc.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sourceModel
4+
extensible: sourceModelDeprecated
55
data:
66
# Alloc
77
- ["lang:alloc", "crate::alloc::dealloc", "Argument[0]", "pointer-invalidate", "manual"]
88
- addsTo:
99
pack: codeql/rust-all
10-
extensible: sinkModel
10+
extensible: sinkModelDeprecated
1111
data:
1212
# Alloc
1313
- ["lang:alloc", "crate::alloc::alloc", "Argument[0]", "alloc-layout", "manual"]
@@ -27,7 +27,7 @@ extensions:
2727
- ["lang:alloc", "<crate::alloc::Global as crate::alloc::Allocator>::grow_zeroed", "Argument[2]", "alloc-layout", "manual"]
2828
- addsTo:
2929
pack: codeql/rust-all
30-
extensible: summaryModel
30+
extensible: summaryModelDeprecated
3131
data:
3232
# Fmt
3333
- ["lang:alloc", "crate::fmt::format", "Argument[0]", "ReturnValue", "taint", "manual"]

rust/ql/lib/codeql/rust/frameworks/stdlib/lang-core.model.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: summaryModel
4+
extensible: summaryModelDeprecated
55
data:
66
# Iterator
77
- ["lang:core", "<[_]>::iter", "Argument[Self].Element", "ReturnValue.Element", "value", "manual"]
@@ -47,7 +47,7 @@ extensions:
4747
- ["lang:core", "<str>::trim", "Argument[self]", "ReturnValue.Reference", "taint", "manual"]
4848
- addsTo:
4949
pack: codeql/rust-all
50-
extensible: sourceModel
50+
extensible: sourceModelDeprecated
5151
data:
5252
# Ptr
5353
- ["lang:core", "crate::ptr::drop_in_place", "Argument[0]", "pointer-invalidate", "manual"]
@@ -56,7 +56,7 @@ extensions:
5656
- ["lang:core", "crate::ptr::null", "ReturnValue", "pointer-invalidate", "manual"]
5757
- addsTo:
5858
pack: codeql/rust-all
59-
extensible: sinkModel
59+
extensible: sinkModelDeprecated
6060
data:
6161
# Ptr
6262
- ["lang:core", "crate::ptr::read", "Argument[0]", "pointer-access", "manual"]

rust/ql/lib/codeql/rust/frameworks/tokio-postgres.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extensions:
22
- addsTo:
33
pack: codeql/rust-all
4-
extensible: sinkModel
4+
extensible: sinkModelDeprecated
55
data:
66
- ["repo:https://github.com/sfackler/rust-postgres:tokio-postgres", "<crate::client::Client>::execute", "Argument[0]", "sql-injection", "manual"]
77
- ["repo:https://github.com/sfackler/rust-postgres:tokio-postgres", "<crate::client::Client>::batch_execute", "Argument[0]", "sql-injection", "manual"]
@@ -18,7 +18,7 @@ extensions:
1818

1919
- addsTo:
2020
pack: codeql/rust-all
21-
extensible: sourceModel
21+
extensible: sourceModelDeprecated
2222
data:
2323
- ["repo:https://github.com/sfackler/rust-postgres:tokio-postgres", "<crate::row::Row>::get", "ReturnValue", "database", "manual"]
2424
- ["repo:https://github.com/sfackler/rust-postgres:tokio-postgres", "<crate::row::Row>::try_get", "ReturnValue.Field[crate::result::Result::Ok(0)]", "database", "manual"]

rust/ql/lib/codeql/rust/frameworks/url.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["repo:https://github.com/servo/rust-url:url", "<crate::Url>::parse", "Argument[0].Reference", "ReturnValue.Field[crate::result::Result::Ok(0)]", "taint", "manual"]

rust/ql/lib/ext/generated/reqwest/repo-https-github.com-seanmonstar-reqwest-reqwest.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: sinkModel
5+
extensible: sinkModelDeprecated
66
data:
77
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::async_impl::client::Client>::delete", "Argument[0]", "transmission", "df-generated"]
88
- ["repo:https://github.com/seanmonstar/reqwest:reqwest", "<crate::async_impl::client::Client>::get", "Argument[0]", "transmission", "df-generated"]

rust/ql/lib/ext/generated/rust/lang-alloc.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["lang:alloc", "<&&str as crate::string::SpecToString>::spec_to_string", "Argument[self].Reference.Reference", "ReturnValue", "value", "dfc-generated"]
88
- ["lang:alloc", "<&crate::string::String as crate::str::pattern::Pattern>::as_utf8_pattern", "Argument[self]", "ReturnValue.Field[crate::option::Option::Some(0)].Field[crate::str::pattern::Utf8Pattern::StringPattern(0)]", "value", "dfc-generated"]

rust/ql/lib/ext/generated/rust/lang-core.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["lang:core", "<&_ as crate::borrow::Borrow>::borrow", "Argument[self].Reference.Reference", "ReturnValue.Reference", "value", "dfc-generated"]
88
- ["lang:core", "<&_ as crate::clone::Clone>::clone", "Argument[self].Reference", "ReturnValue", "value", "dfc-generated"]

rust/ql/lib/ext/generated/rust/lang-proc_macro.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["lang:proc_macro", "<&[u8] as crate::bridge::Mark>::mark", "Argument[0]", "ReturnValue", "value", "dfc-generated"]
88
- ["lang:proc_macro", "<&[u8] as crate::bridge::Unmark>::unmark", "Argument[self]", "ReturnValue", "value", "dfc-generated"]

rust/ql/lib/ext/generated/rust/lang-std.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extensions:
33
- addsTo:
44
pack: codeql/rust-all
5-
extensible: summaryModel
5+
extensible: summaryModelDeprecated
66
data:
77
- ["lang:std", "<&[u8] as crate::io::BufRead>::consume", "Argument[self].Element", "Argument[self].Reference.Reference", "value", "dfc-generated"]
88
- ["lang:std", "<&[u8] as crate::io::BufRead>::fill_buf", "Argument[self].Reference", "ReturnValue.Field[crate::result::Result::Ok(0)]", "value", "dfc-generated"]

0 commit comments

Comments
 (0)