From 86ccc96a4ae41475a21425448f16440a9a3c0140 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Wed, 9 Apr 2025 13:22:55 +0200 Subject: [PATCH] Rust: Make `SummarizedCallable` extend `Function` instead of `string` --- .../lib/codeql/rust/dataflow/FlowSummary.qll | 27 +- .../rust/dataflow/internal/DataFlowImpl.qll | 27 +- .../dataflow/internal/FlowSummaryImpl.qll | 4 +- .../rust/dataflow/internal/ModelsAsData.qll | 20 +- .../codeql/rust/dataflow/internal/Node.qll | 8 +- .../codeql/rust/frameworks/stdlib/Clone.qll | 16 +- .../codeql/rust/internal/PathResolution.qll | 18 + .../codeql/rust/internal/TypeInference.qll | 23 + .../dataflow/global/viableCallable.expected | 4 +- .../dataflow/local/DataFlowStep.expected | 947 +----------------- .../dataflow/local/inline-flow.expected | 54 +- .../dataflow/modeled/inline-flow.expected | 24 +- .../library-tests/dataflow/models/models.ql | 2 +- .../dataflow/sources/InlineFlow.expected | 21 + .../strings/inline-taint-flow.expected | 82 +- .../security/CWE-022/TaintedPath.expected | 58 +- .../security/CWE-089/SqlInjection.expected | 121 +-- .../CWE-312/CleartextLogging.expected | 214 ++-- .../CWE-328/WeakSensitiveDataHashing.expected | 17 +- .../UncontrolledAllocationSize.expected | 548 +--------- .../CaptureSummaryModels.expected | 4 +- 21 files changed, 303 insertions(+), 1936 deletions(-) diff --git a/rust/ql/lib/codeql/rust/dataflow/FlowSummary.qll b/rust/ql/lib/codeql/rust/dataflow/FlowSummary.qll index 60e76ceff94f..0c41bb6d7a8e 100644 --- a/rust/ql/lib/codeql/rust/dataflow/FlowSummary.qll +++ b/rust/ql/lib/codeql/rust/dataflow/FlowSummary.qll @@ -2,7 +2,6 @@ private import rust private import internal.FlowSummaryImpl as Impl -private import codeql.rust.elements.internal.CallExprBaseImpl::Impl as CallExprBaseImpl // import all instances below private module Summaries { @@ -10,34 +9,10 @@ private module Summaries { private import codeql.rust.dataflow.internal.ModelsAsData } -/** Provides the `Range` class used to define the extent of `LibraryCallable`. */ -module LibraryCallable { - /** A callable defined in library code, identified by a unique string. */ - abstract class Range extends string { - bindingset[this] - Range() { any() } - - /** Gets a call to this library callable. */ - CallExprBase getACall() { - exists(Resolvable r, string crate | - r = CallExprBaseImpl::getCallResolvable(result) and - this = crate + r.getResolvedPath() - | - crate = r.getResolvedCrateOrigin() + "::_::" - or - not r.hasResolvedCrateOrigin() and - crate = "" - ) - } - } -} - -final class LibraryCallable = LibraryCallable::Range; - /** Provides the `Range` class used to define the extent of `SummarizedCallable`. */ module SummarizedCallable { /** A callable with a flow summary, identified by a unique string. */ - abstract class Range extends LibraryCallable::Range, Impl::Public::SummarizedCallable { + abstract class Range extends Impl::Public::SummarizedCallable { bindingset[this] Range() { any() } diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll index 4376df7caf8d..3da3e2b1ed96 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/DataFlowImpl.qll @@ -43,10 +43,12 @@ final class DataFlowCallable extends TDataFlowCallable { /** * Gets the underlying library callable, if any. */ - LibraryCallable asLibraryCallable() { this = TLibraryCallable(result) } + SummarizedCallable asSummarizedCallable() { this = TSummarizedCallable(result) } /** Gets a textual representation of this callable. */ - string toString() { result = [this.asCfgScope().toString(), this.asLibraryCallable().toString()] } + string toString() { + result = [this.asCfgScope().toString(), this.asSummarizedCallable().toString()] + } /** Gets the location of this callable. */ Location getLocation() { result = this.asCfgScope().getLocation() } @@ -67,12 +69,9 @@ final class DataFlowCall extends TDataFlowCall { } DataFlowCallable getEnclosingCallable() { - result = TCfgScope(this.asCallBaseExprCfgNode().getExpr().getEnclosingCfgScope()) + result.asCfgScope() = this.asCallBaseExprCfgNode().getExpr().getEnclosingCfgScope() or - exists(FlowSummaryImpl::Public::SummarizedCallable c | - this.isSummaryCall(c, _) and - result = TLibraryCallable(c) - ) + this.isSummaryCall(result.asSummarizedCallable(), _) } string toString() { @@ -434,9 +433,13 @@ module RustDataFlow implements InputSig { /** Gets a viable implementation of the target of the given `Call`. */ DataFlowCallable viableCallable(DataFlowCall call) { - result.asCfgScope() = call.asCallBaseExprCfgNode().getCallExprBase().getStaticTarget() - or - result.asLibraryCallable().getACall() = call.asCallBaseExprCfgNode().getCallExprBase() + exists(Callable target | + target = call.asCallBaseExprCfgNode().getCallExprBase().getStaticTarget() + | + target = result.asCfgScope() + or + target = result.asSummarizedCallable() + ) } /** @@ -784,7 +787,7 @@ module RustDataFlow implements InputSig { predicate allowParameterReturnInSelf(ParameterNode p) { exists(DataFlowCallable c, ParameterPosition pos | p.isParameterOf(c, pos) and - FlowSummaryImpl::Private::summaryAllowParameterReturnInSelf(c.asLibraryCallable(), pos) + FlowSummaryImpl::Private::summaryAllowParameterReturnInSelf(c.asSummarizedCallable(), pos) ) or VariableCapture::Flow::heuristicAllowInstanceParameterReturnInSelf(p.(ClosureParameterNode) @@ -995,7 +998,7 @@ private module Cached { cached newtype TDataFlowCallable = TCfgScope(CfgScope scope) or - TLibraryCallable(LibraryCallable c) + TSummarizedCallable(SummarizedCallable c) /** This is the local flow predicate that is exposed. */ cached diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/FlowSummaryImpl.qll b/rust/ql/lib/codeql/rust/dataflow/internal/FlowSummaryImpl.qll index 62cc47dfc0d3..7ab1fe5c0aa8 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/FlowSummaryImpl.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/FlowSummaryImpl.qll @@ -13,7 +13,7 @@ module Input implements InputSig { private import codeql.rust.elements.internal.CallExprBaseImpl::Impl as CallExprBaseImpl private import codeql.rust.frameworks.stdlib.Stdlib - class SummarizedCallableBase = string; + class SummarizedCallableBase = Function; abstract private class SourceSinkBase extends AstNode { /** Gets the associated call. */ @@ -153,7 +153,7 @@ private import Make as Impl private module StepsInput implements Impl::Private::StepsInputSig { DataFlowCall getACall(Public::SummarizedCallable sc) { - result.asCallBaseExprCfgNode().getCallExprBase() = sc.(LibraryCallable).getACall() + result.asCallBaseExprCfgNode().getCallExprBase().getStaticTarget() = sc } RustDataFlow::Node getSourceNode(Input::SourceBase source, Impl::Private::SummaryComponent sc) { diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll index 57adae96d0ec..1f4a06882c76 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll @@ -47,6 +47,7 @@ private import rust private import codeql.rust.dataflow.FlowSummary private import codeql.rust.dataflow.FlowSource private import codeql.rust.dataflow.FlowSink +private import codeql.rust.elements.internal.CallExprBaseImpl::Impl as CallExprBaseImpl /** * Holds if in a call to the function with canonical path `path`, defined in the @@ -114,13 +115,30 @@ predicate interpretModelForTest(QlBuiltins::ExtensionId madId, string model) { ) } +private predicate sdf(CallExprBase call, Function f) { + CallExprBaseImpl::getCallResolvable(call).getResolvedPath() = "::unwrap" and + // CallExprBaseImpl::getCallResolvable(call).getResolvedCrateOrigin() = "lang:core" and + f = call.getStaticTarget() +} + +private predicate sdf2(CallExprBase call) { + CallExprBaseImpl::getCallResolvable(call).getResolvedPath() = "::unwrap" + // CallExprBaseImpl::getCallResolvable(call).getResolvedCrateOrigin() = "lang:core" and + // f = call.getStaticTarget() +} + private class SummarizedCallableFromModel extends SummarizedCallable::Range { private string crate; private string path; SummarizedCallableFromModel() { summaryModel(crate, path, _, _, _, _, _) and - this = crate + "::_::" + path + exists(CallExprBase call, Resolvable r | + call.getStaticTarget() = this and + r = CallExprBaseImpl::getCallResolvable(call) and + r.getResolvedPath() = path and + r.getResolvedCrateOrigin() = crate + ) } override predicate propagatesFlow( diff --git a/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll b/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll index 67782f0b7e00..10e7bc464e85 100644 --- a/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll +++ b/rust/ql/lib/codeql/rust/dataflow/internal/Node.qll @@ -44,7 +44,7 @@ abstract class NodePublic extends TNode { abstract class Node extends NodePublic { /** Gets the enclosing callable. */ - DataFlowCallable getEnclosingCallable() { result = TCfgScope(this.getCfgScope()) } + DataFlowCallable getEnclosingCallable() { result.asCfgScope() = this.getCfgScope() } /** Do not call: use `getEnclosingCallable()` instead. */ abstract CfgScope getCfgScope(); @@ -102,9 +102,9 @@ class FlowSummaryNode extends Node, TFlowSummaryNode { } override DataFlowCallable getEnclosingCallable() { - result.asLibraryCallable() = this.getSummarizedCallable() - or result.asCfgScope() = this.getCfgScope() + or + result.asSummarizedCallable() = this.getSummarizedCallable() } override Location getLocation() { @@ -195,7 +195,7 @@ final class SummaryParameterNode extends ParameterNode, FlowSummaryNode { } override predicate isParameterOf(DataFlowCallable c, ParameterPosition pos) { - this.getSummarizedCallable() = c.asLibraryCallable() and pos = pos_ + this.getSummarizedCallable() = c.asSummarizedCallable() and pos = pos_ } } diff --git a/rust/ql/lib/codeql/rust/frameworks/stdlib/Clone.qll b/rust/ql/lib/codeql/rust/frameworks/stdlib/Clone.qll index 0798343837e0..305afc30a225 100644 --- a/rust/ql/lib/codeql/rust/frameworks/stdlib/Clone.qll +++ b/rust/ql/lib/codeql/rust/frameworks/stdlib/Clone.qll @@ -6,13 +6,8 @@ private import codeql.rust.dataflow.FlowSummary /** A `clone` method. */ final class CloneCallable extends SummarizedCallable::Range { CloneCallable() { - // NOTE: The function target may not exist in the database, so we base this - // on method calls. - exists(MethodCallExpr c | - c.getIdentifier().getText() = "clone" and - c.getArgList().getNumberOfArgs() = 0 and - this = c.getResolvedCrateOrigin() + "::_::" + c.getResolvedPath() - ) + this.getParamList().getNumberOfParams() = 0 and + this.getName().getText() = "clone" } final override predicate propagatesFlow( @@ -24,3 +19,10 @@ final class CloneCallable extends SummarizedCallable::Range { model = "generated" } } + +private predicate sdf(MethodCallExpr c, string s, Addressable a) { + c.getIdentifier().getText() = "clone" and + c.getArgList().getNumberOfArgs() = 0 and + s = c.getResolvedPath() and + s = a.getExtendedCanonicalPath() +} diff --git a/rust/ql/lib/codeql/rust/internal/PathResolution.qll b/rust/ql/lib/codeql/rust/internal/PathResolution.qll index 6305b3369950..653b9aad0f6b 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolution.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolution.qll @@ -1183,3 +1183,21 @@ private module Debug { fileImport(m, f) } } + +private predicate sdfs(Impl impl, string s) { + impl.toString() = "impl ...::Option { ... }" and + s = impl.getSelfTy().(PathTypeRepr).getPath().toStringDebug() +} + +private predicate sdfs2(Impl impl, RelevantPath path, RelevantPath q, string p, ItemNode i) { + impl.toString() = "impl ...::Option { ... }" and + path = impl.getSelfTy().(PathTypeRepr).getPath() and + q = path.getQualifier*() and + p = path.toStringDebug() and + // parent = i.getImmediateParent().getImmediateParent() and + // rootHasCratePathTc(encl, i) and + // crate = encl.getASuccessor(name) + // crate = encl.getASuccessor(name) + i = resolvePath(q) + // unqualifiedPathLookup(q, name, ns, encl) +} diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index 2fae9ef1f5b8..2bdf8056b59e 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -1017,3 +1017,26 @@ import Cached * Gets a type that `n` infers to, if any. */ Type inferType(AstNode n) { result = inferType(n, TypePath::nil()) } + +/** Provides predicates for debugging the type inference implementation. */ +private module Debug { + private Locatable getRelevantLocatable() { + exists(string filepath, int startline, int startcolumn, int endline, int endcolumn | + result.getLocation().hasLocationInfo(filepath, startline, startcolumn, endline, endcolumn) and + filepath.matches("%/main.rs") and + startline = 13 + ) + } + + Type debugInferType(AstNode n, TypePath path) { + n = getRelevantLocatable() and + result = inferType(n, path) + } + + EnumType debugInferTyp2(AstNode n, TypePath path, ImplItemNode impl) { + n = getRelevantLocatable() and + result = inferType(n, path) and + // exists(result.getMethod(name)) and + impl.resolveSelfTy() = result.asItemNode() + } +} diff --git a/rust/ql/test/library-tests/dataflow/global/viableCallable.expected b/rust/ql/test/library-tests/dataflow/global/viableCallable.expected index 76e65eea3876..adad4ffc4d3d 100644 --- a/rust/ql/test/library-tests/dataflow/global/viableCallable.expected +++ b/rust/ql/test/library-tests/dataflow/global/viableCallable.expected @@ -60,10 +60,10 @@ | main.rs:238:17:238:25 | source(...) | main.rs:1:1:3:1 | fn source | | main.rs:239:9:239:15 | sink(...) | main.rs:5:1:7:1 | fn sink | | main.rs:242:5:242:17 | sink(...) | main.rs:5:1:7:1 | fn sink | -| main.rs:246:13:246:55 | ...::block_on(...) | file://:0:0:0:0 | repo:https://github.com/rust-lang/futures-rs:futures-executor::_::crate::local_pool::block_on | +| main.rs:246:13:246:55 | ...::block_on(...) | file://:0:0:0:0 | fn block_on | | main.rs:246:41:246:54 | async_source(...) | main.rs:227:1:231:1 | fn async_source | | main.rs:247:5:247:11 | sink(...) | main.rs:5:1:7:1 | fn sink | -| main.rs:249:5:249:62 | ...::block_on(...) | file://:0:0:0:0 | repo:https://github.com/rust-lang/futures-rs:futures-executor::_::crate::local_pool::block_on | +| main.rs:249:5:249:62 | ...::block_on(...) | file://:0:0:0:0 | fn block_on | | main.rs:249:33:249:61 | test_async_await_async_part(...) | main.rs:233:1:243:1 | fn test_async_await_async_part | | main.rs:253:5:253:22 | data_out_of_call(...) | main.rs:16:1:19:1 | fn data_out_of_call | | main.rs:254:5:254:35 | data_out_of_call_side_effect1(...) | main.rs:35:1:40:1 | fn data_out_of_call_side_effect1 | diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index d9f17dbf4c4d..af34864fd19a 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -1,5 +1,4 @@ localStep -| file://:0:0:0:0 | [summary param] self in lang:std::_::::canonicalize | file://:0:0:0:0 | [summary] read: Argument[self].OptionalBarrier[normalize-path] in lang:std::_::::canonicalize | | main.rs:3:11:3:11 | [SSA] i | main.rs:4:12:4:12 | i | | main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | [SSA] i | | main.rs:3:11:3:11 | i | main.rs:3:11:3:11 | i | @@ -861,396 +860,8 @@ localStep | main.rs:577:36:577:41 | ...::new(...) | main.rs:577:36:577:41 | MacroExpr | | main.rs:577:36:577:41 | [post] MacroExpr | main.rs:577:36:577:41 | [post] ...::new(...) | storeStep -| file://:0:0:0:0 | [summary] to write: Argument[0].Field[crate::option::Option::Some(0)] in lang:core::_::::zip_with | Some | file://:0:0:0:0 | [post] [summary param] 0 in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0].Reference in lang:alloc::_::::retain | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0] in lang:alloc::_::::retain | -| file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0].Reference in lang:alloc::_::::retain_mut | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0] in lang:alloc::_::::retain_mut | -| file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0].Reference in lang:core::_::::take_if | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[0] in lang:core::_::::take_if | -| file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[1].Reference in lang:core::_::crate::num::flt2dec::to_exact_exp_str | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[1] in lang:core::_::crate::num::flt2dec::to_exact_exp_str | -| file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[1].Reference in lang:core::_::crate::num::flt2dec::to_exact_fixed_str | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Parameter[1] in lang:core::_::crate::num::flt2dec::to_exact_fixed_str | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:alloc::_::<_ as crate::borrow::ToOwned>::clone_into | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:alloc::_::<_ as crate::borrow::ToOwned>::clone_into | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:alloc::_::crate::collections::btree::mem::replace | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:alloc::_::crate::collections::btree::mem::replace | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:alloc::_::crate::collections::btree::mem::take_mut | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:alloc::_::crate::collections::btree::mem::take_mut | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:core::_::crate::mem::replace | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:core::_::crate::mem::replace | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:core::_::crate::ptr::write | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:core::_::crate::ptr::write | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:core::_::crate::ptr::write_unaligned | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:core::_::crate::ptr::write_unaligned | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:core::_::crate::ptr::write_volatile | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:core::_::crate::ptr::write_volatile | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_:::::read_to_end | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_:::::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_:::::read_to_end | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_:::::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_exact | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_to_end | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_to_string | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_exact | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_to_string | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_exact | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::read_to_string | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::crate::io::BufRead::read_line | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::crate::io::BufRead::read_line | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::crate::io::Read::read | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::crate::io::Read::read | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::crate::io::Read::read_exact | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::crate::io::Read::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::crate::io::Read::read_to_end | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::crate::io::Read::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::crate::io::Read::read_to_string | &ref | file://:0:0:0:0 | [post] [summary param] 0 in lang:std::_::crate::io::Read::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:proc_macro::_::::decode | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] to write: Argument[0].Reference.Reference in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [summary] to write: Argument[0].Reference in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:proc_macro::_::crate::bridge::client::state::set | function argument at 0 | file://:0:0:0:0 | [post] [summary param] 1 in lang:proc_macro::_::crate::bridge::client::state::set | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::filter_map | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::map | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::map_split | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::map_split | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::filter_map | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::map | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:core::_::::map_split | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:core::_::::map_split | -| file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0].Reference in lang:std::_::::wait_while | &ref | file://:0:0:0:0 | [summary] to write: Argument[1].Parameter[0] in lang:std::_::::wait_while | -| file://:0:0:0:0 | [summary] to write: Argument[1].Reference in lang:core::_::<_ as crate::clone::uninit::CopySpec>::clone_one | &ref | file://:0:0:0:0 | [post] [summary param] 1 in lang:core::_::<_ as crate::clone::uninit::CopySpec>::clone_one | -| file://:0:0:0:0 | [summary] to write: Argument[1].Reference in lang:std::_::crate::io::BufRead::read_until | &ref | file://:0:0:0:0 | [post] [summary param] 1 in lang:std::_::crate::io::BufRead::read_until | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::max_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::max_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::max_by_key | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::max_by_key | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::min_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::min_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::min_by_key | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::min_by_key | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::minmax_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::minmax_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:core::_::crate::cmp::minmax_by_key | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:core::_::crate::cmp::minmax_by_key | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0].Reference in lang:std::_::::wait_timeout_while | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[0] in lang:std::_::::wait_timeout_while | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1].Reference in lang:core::_::crate::cmp::max_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1] in lang:core::_::crate::cmp::max_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1].Reference in lang:core::_::crate::cmp::min_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1] in lang:core::_::crate::cmp::min_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1].Reference in lang:core::_::crate::cmp::minmax_by | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1] in lang:core::_::crate::cmp::minmax_by | -| file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1].Reference in lang:core::_::crate::slice::sort::shared::smallsort::sort4_stable | &ref | file://:0:0:0:0 | [summary] to write: Argument[2].Parameter[1] in lang:core::_::crate::slice::sort::shared::smallsort::sort4_stable | -| file://:0:0:0:0 | [summary] to write: Argument[self].Element in lang:core::_::::for_each | element | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::for_each | -| file://:0:0:0:0 | [summary] to write: Argument[self].Element in lang:core::_::::map | element | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::for_each | element | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::for_each | -| file://:0:0:0:0 | [summary] to write: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::map | element | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::map | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::and_then | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::is_none_or | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::is_none_or | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::is_some_and | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::is_some_and | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map_or | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map_or_else | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::zip_with | Some | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::is_err_and | Err | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::is_err_and | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::map_err | Err | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::map_or_else | Err | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::or_else | Err | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::unwrap_or_else | Err | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::and_then | Ok | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::is_ok_and | Ok | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::is_ok_and | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::map_or | Ok | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary] to write: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::map_or_else | Ok | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:alloc::_::::add_assign | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:alloc::_::::add_assign | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:alloc::_::::clone_from | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:alloc::_::::clone_from | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::get_or_insert | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::get_or_insert | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::insert | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::insert | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::replace | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::replace | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::clone_from | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::clone_from | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::clone_from | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:core::_::::clone_from | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::BufRead>::consume | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::BufRead>::consume | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_exact | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | &ref | file://:0:0:0:0 | [post] [summary param] self in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::get_or_insert | Some | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::get_or_insert | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::insert | Some | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::insert | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::replace | Some | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:core::_::::replace | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::BufRead>::consume | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::BufRead>::consume | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::Read>::read_exact | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_exact | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | -| file://:0:0:0:0 | [summary] to write: Argument[self].Reference.Reference in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | &ref | file://:0:0:0:0 | [summary] to write: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::::collect | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::collect | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::cmp::minmax | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::cmp::minmax | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::cmp::minmax_by | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::cmp::minmax_by | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::cmp::minmax_by_key | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::cmp::minmax_by_key | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::iter::traits::iterator::Iterator::collect | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::iter::traits::iterator::Iterator::collect | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::unicode::unicode_data::conversions::to_lower | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::unicode::unicode_data::conversions::to_lower | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Element in lang:core::_::crate::unicode::unicode_data::conversions::to_upper | element | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::unicode::unicode_data::conversions::to_upper | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::align_to | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::align_to | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::align_to_mut | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::align_to_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::as_simd | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::as_simd | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::as_simd_mut | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::as_simd_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::partition_dedup | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::partition_dedup | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::partition_dedup_by | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::partition_dedup_by | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::<[_]>::partition_dedup_by_key | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<[_]>::partition_dedup_by_key | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::div_rem_small | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::div_rem_small | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::div_rem_small | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::div_rem_small | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::unzip | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_abs | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::overflowing_div_euclid | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::overflowing_div_euclid | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:std::_::::into_parts | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::into_parts | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0].Field[crate::option::Option::Some(0)] in lang:core::_::::unzip | Some | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[0] in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:alloc::_::::find_lower_bound_edge | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::find_lower_bound_edge | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:alloc::_::::find_upper_bound_edge | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::find_upper_bound_edge | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:core::_::::unzip | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:core::_::crate::slice::sort::shared::find_existing_run | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::slice::sort::shared::find_existing_run | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:std::_::::into_parts | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::into_parts | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1].Field[crate::option::Option::Some(0)] in lang:core::_::::unzip | Some | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[1] in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::then | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::then | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::then_some | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::then_some | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::nth_back | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::nth_back | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::get | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::get | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::get_mut | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::get_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::clone | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::clone | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::from | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::from | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::from_output | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::from_output | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::as_mut | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::as_ref | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::cloned | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::copied | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::copied | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::map | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::zip | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::zip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::zip_with | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::err | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::err | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::ok | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::ok | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::next | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::next | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::nth | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::nth | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::matching | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::matching | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_abs | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_abs | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::checked_next_multiple_of | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::checked_next_multiple_of | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::crate::iter::traits::iterator::Iterator::next | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::iter::traits::iterator::Iterator::next | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::crate::iter::traits::iterator::Iterator::nth | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::crate::iter::traits::iterator::Iterator::nth | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:proc_macro::_::::next | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:proc_macro::_::::next | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::as_str | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::as_str | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[0] in lang:core::_::::map | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[0] in lang:core::_::::zip | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::zip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[0] in lang:core::_::::matching | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::matching | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[1] in lang:core::_::::map | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[1] in lang:core::_::::zip | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::zip | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[1] in lang:core::_::::matching | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::matching | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[crate::result::Result::Err(0)] in lang:core::_::::transpose | Err | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Reference in lang:core::_::::from | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::from | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Reference in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)].Reference in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::try_from | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::try_from | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::downcast | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::downcast | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::left_kv | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::left_kv | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::right_kv | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::right_kv | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::ascend | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::ascend | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::choose_parent_kv | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::choose_parent_kv | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::try_from | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::try_from | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::downcast | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::downcast | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::try_unwrap | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::try_unwrap | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::try_from | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::try_from | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::downcast | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::downcast | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::try_unwrap | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::try_unwrap | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::push_within_capacity | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::push_within_capacity | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:alloc::_::::downcast | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::downcast | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::filter_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::filter_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::set | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::set | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::try_insert | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::ok_or | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::ok_or | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::ok_or_else | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::ok_or_else | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::transpose | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::clone | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::clone | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::and | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::and | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::and_then | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref_mut | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_mut | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_ref | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::cloned | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::copied | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::copied | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::flatten | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::flatten | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::map_err | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::write | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::write | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::write | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::write | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::write | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::write | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::set | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::set | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_insert | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_map | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::into_string | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::into_string | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::crate::io::append_to_string | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::crate::io::append_to_string | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::crate::sys_common::ignore_notfound | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::crate::sys_common::ignore_notfound | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::crate::thread::current::set_current | Err | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::crate::thread::current::set_current | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Field[1] in lang:core::_::::try_insert | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Field[1] in lang:std::_::::try_insert | tuple.1 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Reference in lang:core::_::::as_deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Reference in lang:core::_::::as_deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Reference in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)].Reference in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Err(0)] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:alloc::_::::search_tree_for_bifurcation | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::search_tree_for_bifurcation | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:alloc::_::::from_str | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::from_str | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:alloc::_::::parse | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::parse | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::align_to | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::align_to | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::array | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::array | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::extend | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::extend | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::extend_packed | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::extend_packed | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::from_size_align | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::from_size_align | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::repeat | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::repeat | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::repeat_packed | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::repeat_packed | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_insert | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::ok_or | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::ok_or | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::ok_or_else | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::ok_or_else | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::clone | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::clone | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::from_output | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::from_output | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_mut | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_ref | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::cloned | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::copied | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::copied | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::map | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::map | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::map_err | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::or | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::or | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::or_else | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::parse | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::parse | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::<&[u8] as crate::io::BufRead>::fill_buf | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::<&[u8] as crate::io::BufRead>::fill_buf | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::fill_buf | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::fill_buf | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::canonicalize | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::canonicalize | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::wait | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::wait_timeout | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout_ms | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::wait_timeout_ms | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout_while | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::wait_timeout_while | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_while | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::wait_while | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::try_with | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::try_with | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::crate::sys::pal::unix::cvt | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::crate::sys::pal::unix::cvt | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::bytes | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::bytes | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text_with_charset | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text_with_charset | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::bytes | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::bytes | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::chunk | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::chunk | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text_with_charset | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::text_with_charset | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/servo/rust-url:url::_::::parse | Ok | file://:0:0:0:0 | [summary] to write: ReturnValue in repo:https://github.com/servo/rust-url:url::_::::parse | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:alloc::_::::search_tree_for_bifurcation | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:alloc::_::::search_tree_for_bifurcation | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:core::_::::extend | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::extend | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:core::_::::repeat | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::repeat | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:std::_::::wait_timeout | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:std::_::::wait_timeout_ms | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout_ms | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[0] in lang:std::_::::wait_timeout_while | tuple.0 | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::::wait_timeout_while | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | Some | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Field[crate::option::Option::Some(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::chunk | Some | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in repo:https://github.com/seanmonstar/reqwest:reqwest::_::::chunk | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Reference in lang:core::_::::try_insert | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Reference in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)].Reference in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::allocator | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::allocator | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_mut_ptr | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_mut_ptr | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ptr | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ptr | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::index | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::index | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::index_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::index_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_bytes | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_bytes | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_c_str | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_c_str | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::trim | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::trim | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:alloc::_::<{766}::StringError as crate::error::Error>::description | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:alloc::_::<{766}::StringError as crate::error::Error>::description | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::borrow_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::index | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::index | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::index_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::as_bytes | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::as_bytes | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::get_or_insert | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::get_or_insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::get_or_insert_default | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::get_or_insert_default | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::get_or_insert_with | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::get_or_insert_with | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::insert | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::insert | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::trim | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::trim | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::index | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::index | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:core::_::::index_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::borrow | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::borrow | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::deref | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::deref | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::deref_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::error | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::error | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_inner_mut | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::::as_file_desc | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::::as_file_desc | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::get | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::get | -| file://:0:0:0:0 | [summary] to write: ReturnValue.Reference in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | &ref | file://:0:0:0:0 | [summary] to write: ReturnValue in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | +| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in fn err | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in fn err | +| file://:0:0:0:0 | [summary] to write: ReturnValue.Field[crate::option::Option::Some(0)] in fn ok | Some | file://:0:0:0:0 | [summary] to write: ReturnValue in fn ok | | main.rs:97:14:97:22 | source(...) | tuple.0 | main.rs:97:13:97:26 | TupleExpr | | main.rs:97:25:97:25 | 2 | tuple.1 | main.rs:97:13:97:26 | TupleExpr | | main.rs:103:14:103:14 | 2 | tuple.0 | main.rs:103:13:103:30 | TupleExpr | @@ -1341,552 +952,14 @@ storeStep | main.rs:522:15:522:15 | b | &ref | main.rs:522:14:522:15 | &b | | main.rs:545:27:545:27 | 0 | Some | main.rs:545:22:545:28 | Some(...) | readStep -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::allocator | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[0].Field[1] in lang:alloc::_::::allocator | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::as_mut_ptr | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::as_mut_ptr | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::as_ptr | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::as_ptr | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::into_inner | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::into_inner | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::visit_nodes_in_order | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:alloc::_::::visit_nodes_in_order | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:alloc::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:alloc::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:alloc::_::::try_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:alloc::_::::try_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:alloc::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:alloc::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:alloc::_::::try_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:alloc::_::::try_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::unwrap_or_clone | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::unwrap_or_clone | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::unwrap_or_clone | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::unwrap_or_clone | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::from | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[0].Field[0] in lang:alloc::_::::from | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::crate::collections::btree::mem::replace | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::crate::collections::btree::mem::replace | -| file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::crate::collections::btree::mem::take_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::crate::collections::btree::mem::take_mut | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::<_ as crate::array::SpecArrayClone>::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::<_ as crate::array::SpecArrayClone>::clone | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::then | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::then | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::update | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::update | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::filter_map | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map_split | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::map_split | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::filter_map | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::filter_map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map_split | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::map_split | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::get_or_init | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::get_or_init | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::get_or_try_init | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::get_or_try_init | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::then_with | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::then_with | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::with_copy | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::with_copy | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[0].Field[0] in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::spec_fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[0].Field[0] in lang:core::_::::spec_fold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::from | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::from | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::and_then | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::is_none_or | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::is_none_or | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::is_some_and | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::is_some_and | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::ok_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::ok_or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::unwrap_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::zip | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:core::_::::zip | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::zip_with | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::and_then | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::is_err_and | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::is_err_and | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::is_ok_and | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::is_ok_and | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map_err | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::map_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::unwrap_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::call | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[0].Field[0] in lang:core::_::::call | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::index | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::index | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::::index_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::mem::copy | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::mem::copy | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::mem::replace | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::mem::replace | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::mem::take | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::mem::take | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::panic::abort_unwind | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::crate::panic::abort_unwind | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::ptr::read | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::ptr::read | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::ptr::read_unaligned | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::ptr::read_unaligned | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::ptr::read_volatile | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::ptr::read_volatile | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::ptr::replace | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::ptr::replace | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::slice::sort::shared::smallsort::sort4_stable | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::crate::slice::sort::shared::smallsort::sort4_stable | -| file://:0:0:0:0 | [summary param] 0 in lang:core::_::crate::str::validations::next_code_point | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:core::_::crate::str::validations::next_code_point | -| file://:0:0:0:0 | [summary param] 0 in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:proc_macro::_::<&[u8] as crate::bridge::rpc::DecodeMut>::decode | -| file://:0:0:0:0 | [summary param] 0 in lang:proc_macro::_::::decode | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary param] 0 in lang:proc_macro::_::::decode | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary param] 0 in lang:proc_macro::_::::decode | element | file://:0:0:0:0 | [summary] read: Argument[0].Element in lang:proc_macro::_::::decode | -| file://:0:0:0:0 | [summary param] 0 in lang:proc_macro::_::crate::bridge::client::state::with | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:proc_macro::_::crate::bridge::client::state::with | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::advance_slices | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::from | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[0].Field[1] in lang:std::_::::from | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::new | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::::new | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::wait_timeout_while | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::wait_timeout_while | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::wait_while | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::wait_while | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::bind | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:std::_::::bind | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::bind | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:std::_::::bind | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::connect | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:std::_::::connect | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::connect | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:std::_::::connect | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::bind | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:std::_::::bind | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::bind | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:std::_::::bind | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::connect | Ok | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Ok(0)] in lang:std::_::::connect | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::connect | Some | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::option::Option::Some(0)] in lang:std::_::::connect | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::try_with | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::::try_with | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::::with | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::::with | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::io::default_read_buf | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::io::default_read_buf | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::io::default_read_vectored | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::io::default_read_vectored | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::io::default_write_vectored | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::io::default_write_vectored | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::sys::backtrace::__rust_begin_short_backtrace | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::sys::backtrace::__rust_begin_short_backtrace | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::sys::backtrace::__rust_end_short_backtrace | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::sys::backtrace::__rust_end_short_backtrace | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::sys_common::ignore_notfound | Err | file://:0:0:0:0 | [summary] read: Argument[0].Field[crate::result::Result::Err(0)] in lang:std::_::crate::sys_common::ignore_notfound | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::thread::current::try_with_current | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::thread::current::try_with_current | -| file://:0:0:0:0 | [summary param] 0 in lang:std::_::crate::thread::with_current_name | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::thread::with_current_name | -| file://:0:0:0:0 | [summary param] 0 in repo:https://github.com/rust-lang/regex:regex::_::crate::escape | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in repo:https://github.com/rust-lang/regex:regex::_::crate::escape | -| file://:0:0:0:0 | [summary param] 0 in repo:https://github.com/servo/rust-url:url::_::::parse | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in repo:https://github.com/servo/rust-url:url::_::::parse | -| file://:0:0:0:0 | [summary param] 1 in lang:alloc::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:alloc::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:alloc::_::crate::collections::btree::mem::replace | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:alloc::_::crate::collections::btree::mem::replace | -| file://:0:0:0:0 | [summary param] 1 in lang:alloc::_::crate::collections::btree::mem::take_mut | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:alloc::_::crate::collections::btree::mem::take_mut | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::spec_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::spec_try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::spec_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::spec_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::spec_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_rfold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::try_fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::map_or | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::map_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::zip_with | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::map_or | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::map_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::::fold | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::crate::array::drain::drain_array_with | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::crate::array::drain::drain_array_with | -| file://:0:0:0:0 | [summary param] 1 in lang:core::_::crate::slice::sort::shared::find_existing_run | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::crate::slice::sort::shared::find_existing_run | -| file://:0:0:0:0 | [summary param] 1 in lang:proc_macro::_::crate::bridge::client::state::set | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:proc_macro::_::crate::bridge::client::state::set | -| file://:0:0:0:0 | [summary param] 1 in lang:std::_::crate::io::append_to_string | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:std::_::crate::io::append_to_string | -| file://:0:0:0:0 | [summary param] 1 in lang:std::_::crate::sys::pal::common::small_c_string::run_path_with_cstr | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:std::_::crate::sys::pal::common::small_c_string::run_path_with_cstr | -| file://:0:0:0:0 | [summary param] 1 in lang:std::_::crate::sys::pal::common::small_c_string::run_with_cstr | function return | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:std::_::crate::sys::pal::common::small_c_string::run_with_cstr | -| file://:0:0:0:0 | [summary param] 2 in lang:proc_macro::_::::run_bridge_and_client | function return | file://:0:0:0:0 | [summary] read: Argument[2].ReturnValue in lang:proc_macro::_::::run_bridge_and_client | -| file://:0:0:0:0 | [summary param] 2 in lang:proc_macro::_::::run_bridge_and_client | function return | file://:0:0:0:0 | [summary] read: Argument[2].ReturnValue in lang:proc_macro::_::::run_bridge_and_client | -| file://:0:0:0:0 | [summary param] 4 in lang:core::_::crate::num::flt2dec::to_exact_fixed_str | element | file://:0:0:0:0 | [summary] read: Argument[4].Element in lang:core::_::crate::num::flt2dec::to_exact_fixed_str | -| file://:0:0:0:0 | [summary param] 5 in lang:core::_::crate::num::flt2dec::to_exact_exp_str | element | file://:0:0:0:0 | [summary] read: Argument[5].Element in lang:core::_::crate::num::flt2dec::to_exact_exp_str | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::<&&str as crate::string::SpecToString>::spec_to_string | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::<&&str as crate::string::SpecToString>::spec_to_string | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::<&str as crate::string::SpecToString>::spec_to_string | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::<&str as crate::string::SpecToString>::spec_to_string | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::deref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::deref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_ref | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::deref | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::deref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::deref_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::index | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::index | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::index_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::index_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_bytes | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::as_bytes | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::split_off | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::split_off | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::retain | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::retain | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::retain_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::retain_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_c_str | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_c_str | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::into_vec | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[self].Field[1] in lang:alloc::_::::into_vec | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::nul_position | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::nul_position | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::::borrow_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:alloc::_::<{766}::StringError as crate::error::Error>::description | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::<{766}::StringError as crate::error::Error>::description | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&_ as crate::clone::Clone>::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&_ as crate::clone::Clone>::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&_ as crate::ops::deref::Deref>::deref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&_ as crate::ops::deref::Deref>::deref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&mut _ as crate::ops::deref::Deref>::deref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::ops::deref::Deref>::deref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<&mut _ as crate::ops::deref::DerefMut>::deref_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::ops::deref::DerefMut>::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::<_ as crate::str::pattern::MultiCharEq>::matches | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<_ as crate::str::pattern::MultiCharEq>::matches | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::to_ascii_lowercase | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::to_ascii_lowercase | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::to_ascii_uppercase | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::to_ascii_uppercase | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::borrow | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::borrow_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::borrow_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_ref | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::deref | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::deref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::deref_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::index | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::index | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::index_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_bytes | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::as_bytes | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::rfold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::try_rfold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::try_fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::rfold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::fold | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::nth_back | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::nth_back | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::to_canonical | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::to_canonical | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::and_then | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::cloned | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::copied | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::copied | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::expect | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::expect | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::flatten | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::flatten | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::get_or_insert | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::get_or_insert_default | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert_default | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::get_or_insert_with | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert_with | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::insert | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::insert | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::is_none_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::is_none_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::is_some_and | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::is_some_and | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_or_else | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::ok_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::ok_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::ok_or_else | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::ok_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::replace | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::replace | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::take | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::take | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::take_if | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::take_if | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::transpose | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unwrap | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unwrap_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or_default | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unwrap_or_default | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or_else | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_unchecked | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unwrap_unchecked | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unzip | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::zip | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::zip | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::zip_with | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::zip_with | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::deref | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::deref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::deref_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::and | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::and | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::and_then | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::and_then | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::and_then | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_deref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_deref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_deref_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::cloned | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::cloned | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::cloned | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::copied | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::copied | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::copied | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::copied | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::expect | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::expect | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::expect_err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::expect_err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::flatten | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::flatten | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::flatten | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::flatten | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::into_err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::into_err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::into_ok | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::into_ok | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::is_err_and | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::is_err_and | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::is_ok_and | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::is_ok_and | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_err | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::map_err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_or | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::map_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_or_else | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map_or_else | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::map_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::ok | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::ok | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::or | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::or_else | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::or_else | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::transpose | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::transpose | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::unwrap | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::unwrap_err | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_err_unchecked | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::unwrap_err_unchecked | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::unwrap_or | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or_default | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::unwrap_or_default | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or_else | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_or_else | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::unwrap_unchecked | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::unwrap_unchecked | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::collect | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::collect | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::for_each | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::for_each | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::map | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::map | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::next | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::next | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::nth | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::::nth | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::collect | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::collect | -| file://:0:0:0:0 | [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::for_each | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::for_each | -| file://:0:0:0:0 | [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::map | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::map | -| file://:0:0:0:0 | [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::next | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::next | -| file://:0:0:0:0 | [summary param] self in lang:core::_::crate::iter::traits::iterator::Iterator::nth | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:core::_::crate::iter::traits::iterator::Iterator::nth | -| file://:0:0:0:0 | [summary param] self in lang:proc_macro::_::::take | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:proc_macro::_::::take | -| file://:0:0:0:0 | [summary param] self in lang:proc_macro::_::::clone | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:proc_macro::_::::clone | -| file://:0:0:0:0 | [summary param] self in lang:proc_macro::_::::next | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:proc_macro::_::::next | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::BufRead>::consume | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::BufRead>::consume | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::BufRead>::fill_buf | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:std::_::<&[u8] as crate::io::BufRead>::fill_buf | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::Read>::read_buf_exact | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_exact | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::Read>::read_exact | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::Read>::read_to_end | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::Read>::read_to_string | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::<&[u8] as crate::io::copy::BufferedReaderSpec>::copy_to | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::borrow | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::::borrow | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::deref | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::::deref | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::deref_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Element in lang:std::_::::deref_mut | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::error | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[self].Field[1] in lang:std::_::::error | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_error | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[self].Field[1] in lang:std::_::::into_error | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_parts | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_parts | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_parts | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[self].Field[1] in lang:std::_::::into_parts | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_fd | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:std::_::::as_fd | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::is_leader | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::is_leader | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::timed_out | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::timed_out | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_inner_mut | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_inner_mut | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_file_desc | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_file_desc | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_raw | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_raw | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_u64 | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::as_u64 | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::into_inner | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::into_inner | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::duration | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::::duration | -| file://:0:0:0:0 | [summary param] self in lang:std::_::::as_raw_fd | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:std::_::::as_raw_fd | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::as_str | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::as_str | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::get | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::<{486}::StaticStrPayload as crate::panic::PanicPayload>::get | -| file://:0:0:0:0 | [summary param] self in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::as_mut_ptr | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Reference in lang:alloc::_::::as_mut_ptr | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::as_ptr | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Reference in lang:alloc::_::::as_ptr | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::from | Some | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::from | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::index | element | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Element in lang:core::_::::index | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:core::_::::index_mut | element | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Element in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::advance_slices | element | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Element in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:std::_::::advance_slices | element | file://:0:0:0:0 | [summary] read: Argument[0].Reference.Element in lang:std::_::::advance_slices | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::get_or_init | Ok | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::get_or_init | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::get_or_try_init | Ok | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::get_or_try_init | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::get_or_try_init | Some | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::get_or_try_init | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::io::default_read_buf | Ok | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:std::_::crate::io::default_read_buf | -| file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in lang:std::_::crate::io::default_read_buf | Some | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue.Field[crate::option::Option::Some(0)] in lang:std::_::crate::io::default_read_buf | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::<&mut _ as crate::iter::traits::double_ended::DoubleEndedIteratorRefSpec>::spec_try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::<&mut _ as crate::iter::traits::iterator::IteratorRefSpec>::spec_try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::spec_try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::spec_try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::spec_try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_rfold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_rfold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Ok | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Ok(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:core::_::::try_fold | Some | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::option::Option::Some(0)] in lang:core::_::::try_fold | -| file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue in lang:std::_::crate::io::append_to_string | Err | file://:0:0:0:0 | [summary] read: Argument[1].ReturnValue.Field[crate::result::Result::Err(0)] in lang:std::_::crate::io::append_to_string | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::index | element | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Element in lang:alloc::_::::index | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:alloc::_::::index_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Element in lang:alloc::_::::index_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::index | element | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Element in lang:core::_::::index | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::index_mut | element | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Element in lang:core::_::::index_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::into_inner | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Field[crate::option::Option::Some(0)] in lang:core::_::::into_inner | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::rfold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Field[0] in lang:core::_::::rfold | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:core::_::::fold | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Field[0] in lang:core::_::::fold | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:proc_macro::_::::next | element | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Element in lang:proc_macro::_::::next | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[0] in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Field[0].Reference in lang:std::_::<{491}::RewrapBox as crate::panic::PanicPayload>::get | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::copied | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Reference in lang:core::_::::copied | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::map | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Field[0] in lang:core::_::::map | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Field[crate::result::Result::Err(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unzip | tuple.0 | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Field[0] in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in lang:core::_::::unzip | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)].Field[1] in lang:core::_::::unzip | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in lang:core::_::::unwrap_or_else | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)].Reference in lang:core::_::::unwrap_or_else | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::copied | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)].Reference in lang:core::_::::copied | -| file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in lang:core::_::::transpose | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)].Field[crate::option::Option::Some(0)] in lang:core::_::::transpose | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::<&&str as crate::string::SpecToString>::spec_to_string | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::<&&str as crate::string::SpecToString>::spec_to_string | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::deref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::deref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::deref_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::deref_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:alloc::_::::as_ref | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:alloc::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:core::_::<&_ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:core::_::<&mut _ as crate::borrow::Borrow>::borrow | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | &ref | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Reference in lang:core::_::<&mut _ as crate::borrow::BorrowMut>::borrow_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::<_ as crate::str::pattern::MultiCharEq>::matches | function return | file://:0:0:0:0 | [summary] read: Argument[self].Reference.ReturnValue in lang:core::_::<_ as crate::str::pattern::MultiCharEq>::matches | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_mut | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_ref | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::get_or_insert | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert_default | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::get_or_insert_default | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::get_or_insert_with | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::get_or_insert_with | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::insert | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::insert | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::take_if | Some | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::option::Option::Some(0)] in lang:core::_::::take_if | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_deref | Err | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_deref_mut | Err | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Err(0)] in lang:core::_::::as_deref_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_mut | Err | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Err(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_mut | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_mut | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_ref | Err | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Err(0)] in lang:core::_::::as_ref | -| file://:0:0:0:0 | [summary] read: Argument[self].Reference in lang:core::_::::as_ref | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Reference.Field[crate::result::Result::Ok(0)] in lang:core::_::::as_ref | +| file://:0:0:0:0 | [summary param] 0 in fn unwrap_or_else | function return | file://:0:0:0:0 | [summary] read: Argument[0].ReturnValue in fn unwrap_or_else | +| file://:0:0:0:0 | [summary param] self in fn err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in fn err | +| file://:0:0:0:0 | [summary param] self in fn expect | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in fn expect | +| file://:0:0:0:0 | [summary param] self in fn expect_err | Err | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Err(0)] in fn expect_err | +| file://:0:0:0:0 | [summary param] self in fn ok | Ok | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::result::Result::Ok(0)] in fn ok | +| file://:0:0:0:0 | [summary param] self in fn unwrap | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in fn unwrap | +| file://:0:0:0:0 | [summary param] self in fn unwrap_or | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in fn unwrap_or | +| file://:0:0:0:0 | [summary param] self in fn unwrap_or_else | Some | file://:0:0:0:0 | [summary] read: Argument[self].Field[crate::option::Option::Some(0)] in fn unwrap_or_else | | main.rs:36:9:36:15 | Some(...) | Some | main.rs:36:14:36:14 | _ | | main.rs:90:11:90:11 | i | &ref | main.rs:90:10:90:11 | * ... | | main.rs:98:10:98:10 | a | tuple.0 | main.rs:98:10:98:12 | a.0 | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index 80469e0b3995..d2a81e09b8ba 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -1,14 +1,13 @@ models -| 1 | Summary: lang:core; <_ as crate::convert::From>::from; Argument[0]; ReturnValue; value | -| 2 | Summary: lang:core; ::unwrap; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 3 | Summary: lang:core; ::unwrap_or; Argument[0]; ReturnValue; value | -| 4 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 5 | Summary: lang:core; ::unwrap_or_else; Argument[0].ReturnValue; ReturnValue; value | -| 6 | Summary: lang:core; ::unwrap_or_else; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 7 | Summary: lang:core; ::err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | -| 8 | Summary: lang:core; ::expect; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 9 | Summary: lang:core; ::expect_err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue; value | -| 10 | Summary: lang:core; ::ok; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | +| 1 | Summary: lang:core; ::unwrap; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | +| 2 | Summary: lang:core; ::unwrap_or; Argument[0]; ReturnValue; value | +| 3 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | +| 4 | Summary: lang:core; ::unwrap_or_else; Argument[0].ReturnValue; ReturnValue; value | +| 5 | Summary: lang:core; ::unwrap_or_else; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | +| 6 | Summary: lang:core; ::err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | +| 7 | Summary: lang:core; ::expect; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | +| 8 | Summary: lang:core; ::expect_err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue; value | +| 9 | Summary: lang:core; ::ok; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | edges | main.rs:22:9:22:9 | s | main.rs:23:10:23:10 | s | provenance | | | main.rs:22:13:22:21 | source(...) | main.rs:22:9:22:9 | s | provenance | | @@ -95,32 +94,32 @@ edges | main.rs:229:11:229:12 | s1 [Some] | main.rs:230:9:230:15 | Some(...) [Some] | provenance | | | main.rs:230:9:230:15 | Some(...) [Some] | main.rs:230:14:230:14 | n | provenance | | | main.rs:230:14:230:14 | n | main.rs:230:25:230:25 | n | provenance | | -| main.rs:240:9:240:10 | s1 [Some] | main.rs:241:10:241:20 | s1.unwrap() | provenance | MaD:2 | +| main.rs:240:9:240:10 | s1 [Some] | main.rs:241:10:241:20 | s1.unwrap() | provenance | MaD:1 | | main.rs:240:14:240:29 | Some(...) [Some] | main.rs:240:9:240:10 | s1 [Some] | provenance | | | main.rs:240:19:240:28 | source(...) | main.rs:240:14:240:29 | Some(...) [Some] | provenance | | -| main.rs:245:9:245:10 | s1 [Some] | main.rs:246:10:246:24 | s1.unwrap_or(...) | provenance | MaD:4 | +| main.rs:245:9:245:10 | s1 [Some] | main.rs:246:10:246:24 | s1.unwrap_or(...) | provenance | MaD:3 | | main.rs:245:14:245:29 | Some(...) [Some] | main.rs:245:9:245:10 | s1 [Some] | provenance | | | main.rs:245:19:245:28 | source(...) | main.rs:245:14:245:29 | Some(...) [Some] | provenance | | -| main.rs:249:23:249:32 | source(...) | main.rs:249:10:249:33 | s2.unwrap_or(...) | provenance | MaD:3 | -| main.rs:253:9:253:10 | s1 [Some] | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | provenance | MaD:6 | +| main.rs:249:23:249:32 | source(...) | main.rs:249:10:249:33 | s2.unwrap_or(...) | provenance | MaD:2 | +| main.rs:253:9:253:10 | s1 [Some] | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | provenance | MaD:5 | | main.rs:253:14:253:29 | Some(...) [Some] | main.rs:253:9:253:10 | s1 [Some] | provenance | | | main.rs:253:19:253:28 | source(...) | main.rs:253:14:253:29 | Some(...) [Some] | provenance | | -| main.rs:257:31:257:40 | source(...) | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | provenance | MaD:5 | +| main.rs:257:31:257:40 | source(...) | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | provenance | MaD:4 | | main.rs:261:9:261:10 | s1 [Some] | main.rs:263:14:263:15 | s1 [Some] | provenance | | | main.rs:261:14:261:29 | Some(...) [Some] | main.rs:261:9:261:10 | s1 [Some] | provenance | | | main.rs:261:19:261:28 | source(...) | main.rs:261:14:261:29 | Some(...) [Some] | provenance | | | main.rs:263:9:263:10 | i1 | main.rs:264:10:264:11 | i1 | provenance | | | main.rs:263:14:263:15 | s1 [Some] | main.rs:263:14:263:16 | TryExpr | provenance | | | main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | provenance | | -| main.rs:270:9:270:10 | r1 [Ok] | main.rs:271:29:271:35 | r1.ok() [Some] | provenance | MaD:10 | +| main.rs:270:9:270:10 | r1 [Ok] | main.rs:271:29:271:35 | r1.ok() [Some] | provenance | MaD:9 | | main.rs:270:33:270:46 | Ok(...) [Ok] | main.rs:270:9:270:10 | r1 [Ok] | provenance | | | main.rs:270:36:270:45 | source(...) | main.rs:270:33:270:46 | Ok(...) [Ok] | provenance | | -| main.rs:271:9:271:11 | o1a [Some] | main.rs:273:10:273:21 | o1a.unwrap() | provenance | MaD:2 | +| main.rs:271:9:271:11 | o1a [Some] | main.rs:273:10:273:21 | o1a.unwrap() | provenance | MaD:1 | | main.rs:271:29:271:35 | r1.ok() [Some] | main.rs:271:9:271:11 | o1a [Some] | provenance | | -| main.rs:276:9:276:10 | r2 [Err] | main.rs:278:29:278:36 | r2.err() [Some] | provenance | MaD:7 | +| main.rs:276:9:276:10 | r2 [Err] | main.rs:278:29:278:36 | r2.err() [Some] | provenance | MaD:6 | | main.rs:276:33:276:47 | Err(...) [Err] | main.rs:276:9:276:10 | r2 [Err] | provenance | | | main.rs:276:37:276:46 | source(...) | main.rs:276:33:276:47 | Err(...) [Err] | provenance | | -| main.rs:278:9:278:11 | o2b [Some] | main.rs:280:10:280:21 | o2b.unwrap() | provenance | MaD:2 | +| main.rs:278:9:278:11 | o2b [Some] | main.rs:280:10:280:21 | o2b.unwrap() | provenance | MaD:1 | | main.rs:278:29:278:36 | r2.err() [Some] | main.rs:278:9:278:11 | o2b [Some] | provenance | | | main.rs:284:9:284:10 | s1 [Ok] | main.rs:287:14:287:15 | s1 [Ok] | provenance | | | main.rs:284:32:284:45 | Ok(...) [Ok] | main.rs:284:9:284:10 | s1 [Ok] | provenance | | @@ -128,10 +127,10 @@ edges | main.rs:287:9:287:10 | i1 | main.rs:289:10:289:11 | i1 | provenance | | | main.rs:287:14:287:15 | s1 [Ok] | main.rs:287:14:287:16 | TryExpr | provenance | | | main.rs:287:14:287:16 | TryExpr | main.rs:287:9:287:10 | i1 | provenance | | -| main.rs:297:9:297:10 | s1 [Ok] | main.rs:298:10:298:22 | s1.expect(...) | provenance | MaD:8 | +| main.rs:297:9:297:10 | s1 [Ok] | main.rs:298:10:298:22 | s1.expect(...) | provenance | MaD:7 | | main.rs:297:32:297:45 | Ok(...) [Ok] | main.rs:297:9:297:10 | s1 [Ok] | provenance | | | main.rs:297:35:297:44 | source(...) | main.rs:297:32:297:45 | Ok(...) [Ok] | provenance | | -| main.rs:301:9:301:10 | s2 [Err] | main.rs:303:10:303:26 | s2.expect_err(...) | provenance | MaD:9 | +| main.rs:301:9:301:10 | s2 [Err] | main.rs:303:10:303:26 | s2.expect_err(...) | provenance | MaD:8 | | main.rs:301:32:301:46 | Err(...) [Err] | main.rs:301:9:301:10 | s2 [Err] | provenance | | | main.rs:301:36:301:45 | source(...) | main.rs:301:32:301:46 | Err(...) [Err] | provenance | | | main.rs:312:9:312:10 | s1 [A] | main.rs:314:11:314:12 | s1 [A] | provenance | | @@ -231,9 +230,6 @@ edges | main.rs:519:17:519:18 | &c [&ref] | main.rs:519:9:519:13 | c_ref [&ref] | provenance | | | main.rs:519:18:519:18 | c | main.rs:519:17:519:18 | &c [&ref] | provenance | | | main.rs:524:11:524:15 | c_ref [&ref] | main.rs:524:10:524:15 | * ... | provenance | | -| main.rs:528:9:528:9 | a | main.rs:532:20:532:20 | a | provenance | | -| main.rs:528:18:528:27 | source(...) | main.rs:528:9:528:9 | a | provenance | | -| main.rs:532:20:532:20 | a | main.rs:532:10:532:21 | ...::from(...) | provenance | MaD:1 | nodes | main.rs:18:10:18:18 | source(...) | semmle.label | source(...) | | main.rs:22:9:22:9 | s | semmle.label | s | @@ -501,12 +497,13 @@ nodes | main.rs:521:10:521:10 | a | semmle.label | a | | main.rs:524:10:524:15 | * ... | semmle.label | * ... | | main.rs:524:11:524:15 | c_ref [&ref] | semmle.label | c_ref [&ref] | -| main.rs:528:9:528:9 | a | semmle.label | a | -| main.rs:528:18:528:27 | source(...) | semmle.label | source(...) | -| main.rs:532:10:532:21 | ...::from(...) | semmle.label | ...::from(...) | -| main.rs:532:20:532:20 | a | semmle.label | a | subpaths testFailures +| main.rs:473:21:473:40 | //... | Missing result: hasTaintFlow=90 | +| main.rs:474:14:474:33 | //... | Missing result: hasTaintFlow=90 | +| main.rs:475:14:475:33 | //... | Missing result: hasTaintFlow=90 | +| main.rs:532:25:532:44 | //... | Missing result: hasValueFlow=50 | +| main.rs:538:25:538:44 | //... | Missing result: hasTaintFlow=51 | #select | main.rs:18:10:18:18 | source(...) | main.rs:18:10:18:18 | source(...) | main.rs:18:10:18:18 | source(...) | $@ | main.rs:18:10:18:18 | source(...) | source(...) | | main.rs:23:10:23:10 | s | main.rs:22:13:22:21 | source(...) | main.rs:23:10:23:10 | s | $@ | main.rs:22:13:22:21 | source(...) | source(...) | @@ -562,4 +559,3 @@ testFailures | main.rs:506:10:506:18 | vs_mut[0] | main.rs:504:23:504:32 | source(...) | main.rs:506:10:506:18 | vs_mut[0] | $@ | main.rs:504:23:504:32 | source(...) | source(...) | | main.rs:521:10:521:10 | a | main.rs:516:13:516:22 | source(...) | main.rs:521:10:521:10 | a | $@ | main.rs:516:13:516:22 | source(...) | source(...) | | main.rs:524:10:524:15 | * ... | main.rs:518:13:518:22 | source(...) | main.rs:524:10:524:15 | * ... | $@ | main.rs:518:13:518:22 | source(...) | source(...) | -| main.rs:532:10:532:21 | ...::from(...) | main.rs:528:18:528:27 | source(...) | main.rs:532:10:532:21 | ...::from(...) | $@ | main.rs:528:18:528:27 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected b/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected index a7d350ee5acd..d816f94a249e 100644 --- a/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected @@ -9,35 +9,24 @@ models edges | main.rs:12:9:12:9 | a [Some] | main.rs:13:10:13:19 | a.unwrap() | provenance | MaD:2 | | main.rs:12:9:12:9 | a [Some] | main.rs:14:13:14:21 | a.clone() [Some] | provenance | MaD:1 | -| main.rs:12:9:12:9 | a [Some] | main.rs:14:13:14:21 | a.clone() [Some] | provenance | generated | | main.rs:12:13:12:28 | Some(...) [Some] | main.rs:12:9:12:9 | a [Some] | provenance | | | main.rs:12:18:12:27 | source(...) | main.rs:12:13:12:28 | Some(...) [Some] | provenance | | | main.rs:14:9:14:9 | b [Some] | main.rs:15:10:15:19 | b.unwrap() | provenance | MaD:2 | | main.rs:14:13:14:21 | a.clone() [Some] | main.rs:14:9:14:9 | b [Some] | provenance | | | main.rs:19:9:19:9 | a [Ok] | main.rs:20:10:20:19 | a.unwrap() | provenance | MaD:5 | | main.rs:19:9:19:9 | a [Ok] | main.rs:21:13:21:21 | a.clone() [Ok] | provenance | MaD:4 | -| main.rs:19:9:19:9 | a [Ok] | main.rs:21:13:21:21 | a.clone() [Ok] | provenance | generated | | main.rs:19:31:19:44 | Ok(...) [Ok] | main.rs:19:9:19:9 | a [Ok] | provenance | | | main.rs:19:34:19:43 | source(...) | main.rs:19:31:19:44 | Ok(...) [Ok] | provenance | | | main.rs:21:9:21:9 | b [Ok] | main.rs:22:10:22:19 | b.unwrap() | provenance | MaD:5 | | main.rs:21:13:21:21 | a.clone() [Ok] | main.rs:21:9:21:9 | b [Ok] | provenance | | | main.rs:26:9:26:9 | a | main.rs:27:10:27:10 | a | provenance | | -| main.rs:26:9:26:9 | a | main.rs:28:13:28:21 | a.clone() | provenance | generated | | main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | a | provenance | | -| main.rs:28:9:28:9 | b | main.rs:29:10:29:10 | b | provenance | | -| main.rs:28:13:28:21 | a.clone() | main.rs:28:9:28:9 | b | provenance | | | main.rs:41:13:41:13 | w [Wrapper] | main.rs:42:15:42:15 | w [Wrapper] | provenance | | | main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | main.rs:41:13:41:13 | w [Wrapper] | provenance | | | main.rs:41:30:41:39 | source(...) | main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | provenance | | | main.rs:42:15:42:15 | w [Wrapper] | main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | provenance | | -| main.rs:42:15:42:15 | w [Wrapper] | main.rs:45:17:45:25 | w.clone() [Wrapper] | provenance | generated | | main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | main.rs:43:26:43:26 | n | provenance | | | main.rs:43:26:43:26 | n | main.rs:43:38:43:38 | n | provenance | | -| main.rs:45:13:45:13 | u [Wrapper] | main.rs:46:15:46:15 | u [Wrapper] | provenance | | -| main.rs:45:17:45:25 | w.clone() [Wrapper] | main.rs:45:13:45:13 | u [Wrapper] | provenance | | -| main.rs:46:15:46:15 | u [Wrapper] | main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | provenance | | -| main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | main.rs:47:26:47:26 | n | provenance | | -| main.rs:47:26:47:26 | n | main.rs:47:38:47:38 | n | provenance | | | main.rs:58:13:58:13 | b [Some] | main.rs:59:23:59:23 | b [Some] | provenance | | | main.rs:58:17:58:32 | Some(...) [Some] | main.rs:58:13:58:13 | b [Some] | provenance | | | main.rs:58:22:58:31 | source(...) | main.rs:58:17:58:32 | Some(...) [Some] | provenance | | @@ -69,9 +58,6 @@ nodes | main.rs:26:9:26:9 | a | semmle.label | a | | main.rs:26:13:26:22 | source(...) | semmle.label | source(...) | | main.rs:27:10:27:10 | a | semmle.label | a | -| main.rs:28:9:28:9 | b | semmle.label | b | -| main.rs:28:13:28:21 | a.clone() | semmle.label | a.clone() | -| main.rs:29:10:29:10 | b | semmle.label | b | | main.rs:41:13:41:13 | w [Wrapper] | semmle.label | w [Wrapper] | | main.rs:41:17:41:41 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] | | main.rs:41:30:41:39 | source(...) | semmle.label | source(...) | @@ -79,12 +65,6 @@ nodes | main.rs:43:13:43:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] | | main.rs:43:26:43:26 | n | semmle.label | n | | main.rs:43:38:43:38 | n | semmle.label | n | -| main.rs:45:13:45:13 | u [Wrapper] | semmle.label | u [Wrapper] | -| main.rs:45:17:45:25 | w.clone() [Wrapper] | semmle.label | w.clone() [Wrapper] | -| main.rs:46:15:46:15 | u [Wrapper] | semmle.label | u [Wrapper] | -| main.rs:47:13:47:28 | Wrapper {...} [Wrapper] | semmle.label | Wrapper {...} [Wrapper] | -| main.rs:47:26:47:26 | n | semmle.label | n | -| main.rs:47:38:47:38 | n | semmle.label | n | | main.rs:58:13:58:13 | b [Some] | semmle.label | b [Some] | | main.rs:58:17:58:32 | Some(...) [Some] | semmle.label | Some(...) [Some] | | main.rs:58:22:58:31 | source(...) | semmle.label | source(...) | @@ -102,14 +82,14 @@ nodes | main.rs:85:33:85:33 | y [&ref] | semmle.label | y [&ref] | subpaths testFailures +| main.rs:29:14:29:33 | //... | Missing result: hasValueFlow=12 | +| main.rs:47:42:47:61 | //... | Missing result: hasValueFlow=73 | #select | main.rs:13:10:13:19 | a.unwrap() | main.rs:12:18:12:27 | source(...) | main.rs:13:10:13:19 | a.unwrap() | $@ | main.rs:12:18:12:27 | source(...) | source(...) | | main.rs:15:10:15:19 | b.unwrap() | main.rs:12:18:12:27 | source(...) | main.rs:15:10:15:19 | b.unwrap() | $@ | main.rs:12:18:12:27 | source(...) | source(...) | | main.rs:20:10:20:19 | a.unwrap() | main.rs:19:34:19:43 | source(...) | main.rs:20:10:20:19 | a.unwrap() | $@ | main.rs:19:34:19:43 | source(...) | source(...) | | main.rs:22:10:22:19 | b.unwrap() | main.rs:19:34:19:43 | source(...) | main.rs:22:10:22:19 | b.unwrap() | $@ | main.rs:19:34:19:43 | source(...) | source(...) | | main.rs:27:10:27:10 | a | main.rs:26:13:26:22 | source(...) | main.rs:27:10:27:10 | a | $@ | main.rs:26:13:26:22 | source(...) | source(...) | -| main.rs:29:10:29:10 | b | main.rs:26:13:26:22 | source(...) | main.rs:29:10:29:10 | b | $@ | main.rs:26:13:26:22 | source(...) | source(...) | | main.rs:43:38:43:38 | n | main.rs:41:30:41:39 | source(...) | main.rs:43:38:43:38 | n | $@ | main.rs:41:30:41:39 | source(...) | source(...) | -| main.rs:47:38:47:38 | n | main.rs:41:30:41:39 | source(...) | main.rs:47:38:47:38 | n | $@ | main.rs:41:30:41:39 | source(...) | source(...) | | main.rs:63:22:63:22 | m | main.rs:58:22:58:31 | source(...) | main.rs:63:22:63:22 | m | $@ | main.rs:58:22:58:31 | source(...) | source(...) | | main.rs:85:18:85:34 | ...::read(...) | main.rs:84:32:84:41 | source(...) | main.rs:85:18:85:34 | ...::read(...) | $@ | main.rs:84:32:84:41 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/models/models.ql b/rust/ql/test/library-tests/dataflow/models/models.ql index b17b45bba82c..e621834bdec7 100644 --- a/rust/ql/test/library-tests/dataflow/models/models.ql +++ b/rust/ql/test/library-tests/dataflow/models/models.ql @@ -20,7 +20,7 @@ query predicate invalidSpecComponent(SummarizedCallable sc, string s, string c) // not defined in `models.ext.yml`, in order to test that we can also define // models directly in QL private class SummarizedCallableIdentity extends SummarizedCallable::Range { - SummarizedCallableIdentity() { this = "repo::test::_::crate::identity" } + SummarizedCallableIdentity() { this.getName().getText() = "identity" } override predicate propagatesFlow( string input, string output, boolean preservesValue, string provenance diff --git a/rust/ql/test/library-tests/dataflow/sources/InlineFlow.expected b/rust/ql/test/library-tests/dataflow/sources/InlineFlow.expected index e69de29bb2d1..154288e6e33d 100644 --- a/rust/ql/test/library-tests/dataflow/sources/InlineFlow.expected +++ b/rust/ql/test/library-tests/dataflow/sources/InlineFlow.expected @@ -0,0 +1,21 @@ +| test.rs:36:20:36:36 | //... | Missing result: hasTaintFlow | +| test.rs:37:17:37:33 | //... | Missing result: hasTaintFlow | +| test.rs:38:17:38:33 | //... | Missing result: hasTaintFlow | +| test.rs:39:17:39:33 | //... | Missing result: hasTaintFlow | +| test.rs:40:17:40:33 | //... | Missing result: hasTaintFlow | +| test.rs:63:27:63:57 | //... | Missing result: hasTaintFlow="example.com" | +| test.rs:66:27:66:57 | //... | Missing result: hasTaintFlow="example.com" | +| test.rs:69:27:69:57 | //... | Missing result: hasTaintFlow="example.com" | +| test.rs:72:27:72:57 | //... | Missing result: hasTaintFlow="example.com" | +| test.rs:266:21:266:37 | //... | Missing result: hasTaintFlow | +| test.rs:276:24:276:51 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:282:24:282:51 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:288:24:288:51 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:294:24:294:51 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:298:21:298:48 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:319:24:319:40 | //... | Missing result: hasTaintFlow | +| test.rs:326:24:326:40 | //... | Missing result: hasTaintFlow | +| test.rs:340:25:340:41 | //... | Missing result: hasTaintFlow | +| test.rs:364:24:364:83 | //... | Missing result: hasTaintFlow="another_file.txt" | +| test.rs:364:24:364:83 | //... | Missing result: hasTaintFlow="file.txt" | +| test.rs:372:24:372:51 | //... | Missing result: hasTaintFlow="file.txt" | diff --git a/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected b/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected index 63076f6b5dfd..3e84c6c62811 100644 --- a/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected +++ b/rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected @@ -1,9 +1,6 @@ models -| 1 | Summary: lang:alloc; <_ as crate::string::ToString>::to_string; Argument[self]; ReturnValue; taint | -| 2 | Summary: lang:alloc; ::from; Argument[0]; ReturnValue; value | -| 3 | Summary: lang:alloc; ::as_str; Argument[self]; ReturnValue; value | -| 4 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint | -| 5 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value | +| 1 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint | +| 2 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value | edges | main.rs:26:9:26:9 | s | main.rs:27:19:27:25 | s[...] | provenance | | | main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | s | provenance | | @@ -13,44 +10,19 @@ edges | main.rs:32:9:32:10 | s1 | main.rs:35:9:35:10 | s4 | provenance | | | main.rs:32:14:32:23 | source(...) | main.rs:32:9:32:10 | s1 | provenance | | | main.rs:35:9:35:10 | s4 | main.rs:38:10:38:11 | s4 | provenance | | -| main.rs:51:6:51:7 | s1 | main.rs:52:24:52:25 | s1 | provenance | | -| main.rs:51:11:51:26 | source_slice(...) | main.rs:51:6:51:7 | s1 | provenance | | -| main.rs:52:6:52:7 | s2 | main.rs:53:7:53:8 | s2 | provenance | | -| main.rs:52:11:52:26 | ...::from(...) | main.rs:52:6:52:7 | s2 | provenance | | -| main.rs:52:24:52:25 | s1 | main.rs:52:11:52:26 | ...::from(...) | provenance | MaD:2 | -| main.rs:57:6:57:7 | s1 | main.rs:58:11:58:24 | s1.to_string() | provenance | MaD:1 | -| main.rs:57:11:57:26 | source_slice(...) | main.rs:57:6:57:7 | s1 | provenance | | -| main.rs:58:6:58:7 | s2 | main.rs:59:7:59:8 | s2 | provenance | | -| main.rs:58:11:58:24 | s1.to_string() | main.rs:58:6:58:7 | s2 | provenance | | -| main.rs:63:9:63:9 | s | main.rs:64:16:64:25 | s.as_str() | provenance | MaD:3 | -| main.rs:63:13:63:22 | source(...) | main.rs:63:9:63:9 | s | provenance | | -| main.rs:68:9:68:9 | s | main.rs:70:34:70:61 | MacroExpr | provenance | | -| main.rs:68:9:68:9 | s | main.rs:73:34:73:59 | MacroExpr | provenance | | -| main.rs:68:13:68:22 | source(...) | main.rs:68:9:68:9 | s | provenance | | -| main.rs:70:9:70:18 | formatted1 | main.rs:71:10:71:19 | formatted1 | provenance | | -| main.rs:70:22:70:62 | ...::format(...) | main.rs:70:9:70:18 | formatted1 | provenance | | -| main.rs:70:34:70:61 | MacroExpr | main.rs:70:22:70:62 | ...::format(...) | provenance | MaD:4 | -| main.rs:73:9:73:18 | formatted2 | main.rs:74:10:74:19 | formatted2 | provenance | | -| main.rs:73:22:73:60 | ...::format(...) | main.rs:73:9:73:18 | formatted2 | provenance | | -| main.rs:73:34:73:59 | MacroExpr | main.rs:73:22:73:60 | ...::format(...) | provenance | MaD:4 | -| main.rs:76:9:76:13 | width | main.rs:77:34:77:74 | MacroExpr | provenance | | -| main.rs:76:17:76:32 | source_usize(...) | main.rs:76:9:76:13 | width | provenance | | -| main.rs:77:9:77:18 | formatted3 | main.rs:78:10:78:19 | formatted3 | provenance | | -| main.rs:77:22:77:75 | ...::format(...) | main.rs:77:9:77:18 | formatted3 | provenance | | -| main.rs:77:34:77:74 | MacroExpr | main.rs:77:22:77:75 | ...::format(...) | provenance | MaD:4 | | main.rs:82:9:82:10 | s1 | main.rs:86:18:86:25 | MacroExpr | provenance | | | main.rs:82:9:82:10 | s1 | main.rs:87:18:87:32 | MacroExpr | provenance | | | main.rs:82:14:82:23 | source(...) | main.rs:82:9:82:10 | s1 | provenance | | | main.rs:86:10:86:26 | res | main.rs:86:18:86:25 | { ... } | provenance | | | main.rs:86:18:86:25 | ...::format(...) | main.rs:86:10:86:26 | res | provenance | | | main.rs:86:18:86:25 | ...::must_use(...) | main.rs:86:10:86:26 | MacroExpr | provenance | | -| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:4 | -| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:5 | +| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:1 | +| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:2 | | main.rs:87:10:87:33 | res | main.rs:87:18:87:32 | { ... } | provenance | | | main.rs:87:18:87:32 | ...::format(...) | main.rs:87:10:87:33 | res | provenance | | | main.rs:87:18:87:32 | ...::must_use(...) | main.rs:87:10:87:33 | MacroExpr | provenance | | -| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:4 | -| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:5 | +| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:1 | +| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:2 | nodes | main.rs:26:9:26:9 | s | semmle.label | s | | main.rs:26:13:26:22 | source(...) | semmle.label | source(...) | @@ -62,36 +34,6 @@ nodes | main.rs:32:14:32:23 | source(...) | semmle.label | source(...) | | main.rs:35:9:35:10 | s4 | semmle.label | s4 | | main.rs:38:10:38:11 | s4 | semmle.label | s4 | -| main.rs:51:6:51:7 | s1 | semmle.label | s1 | -| main.rs:51:11:51:26 | source_slice(...) | semmle.label | source_slice(...) | -| main.rs:52:6:52:7 | s2 | semmle.label | s2 | -| main.rs:52:11:52:26 | ...::from(...) | semmle.label | ...::from(...) | -| main.rs:52:24:52:25 | s1 | semmle.label | s1 | -| main.rs:53:7:53:8 | s2 | semmle.label | s2 | -| main.rs:57:6:57:7 | s1 | semmle.label | s1 | -| main.rs:57:11:57:26 | source_slice(...) | semmle.label | source_slice(...) | -| main.rs:58:6:58:7 | s2 | semmle.label | s2 | -| main.rs:58:11:58:24 | s1.to_string() | semmle.label | s1.to_string() | -| main.rs:59:7:59:8 | s2 | semmle.label | s2 | -| main.rs:63:9:63:9 | s | semmle.label | s | -| main.rs:63:13:63:22 | source(...) | semmle.label | source(...) | -| main.rs:64:16:64:25 | s.as_str() | semmle.label | s.as_str() | -| main.rs:68:9:68:9 | s | semmle.label | s | -| main.rs:68:13:68:22 | source(...) | semmle.label | source(...) | -| main.rs:70:9:70:18 | formatted1 | semmle.label | formatted1 | -| main.rs:70:22:70:62 | ...::format(...) | semmle.label | ...::format(...) | -| main.rs:70:34:70:61 | MacroExpr | semmle.label | MacroExpr | -| main.rs:71:10:71:19 | formatted1 | semmle.label | formatted1 | -| main.rs:73:9:73:18 | formatted2 | semmle.label | formatted2 | -| main.rs:73:22:73:60 | ...::format(...) | semmle.label | ...::format(...) | -| main.rs:73:34:73:59 | MacroExpr | semmle.label | MacroExpr | -| main.rs:74:10:74:19 | formatted2 | semmle.label | formatted2 | -| main.rs:76:9:76:13 | width | semmle.label | width | -| main.rs:76:17:76:32 | source_usize(...) | semmle.label | source_usize(...) | -| main.rs:77:9:77:18 | formatted3 | semmle.label | formatted3 | -| main.rs:77:22:77:75 | ...::format(...) | semmle.label | ...::format(...) | -| main.rs:77:34:77:74 | MacroExpr | semmle.label | MacroExpr | -| main.rs:78:10:78:19 | formatted3 | semmle.label | formatted3 | | main.rs:82:9:82:10 | s1 | semmle.label | s1 | | main.rs:82:14:82:23 | source(...) | semmle.label | source(...) | | main.rs:86:10:86:26 | MacroExpr | semmle.label | MacroExpr | @@ -108,14 +50,14 @@ nodes | main.rs:87:18:87:32 | { ... } | semmle.label | { ... } | subpaths testFailures +| main.rs:53:12:53:31 | //... | Missing result: hasValueFlow=36 | +| main.rs:59:12:59:31 | //... | Missing result: hasTaintFlow=22 | +| main.rs:64:29:64:48 | //... | Missing result: hasValueFlow=67 | +| main.rs:71:23:71:42 | //... | Missing result: hasTaintFlow=88 | +| main.rs:74:23:74:42 | //... | Missing result: hasTaintFlow=88 | +| main.rs:78:23:78:42 | //... | Missing result: hasTaintFlow=10 | #select | main.rs:28:16:28:21 | sliced | main.rs:26:13:26:22 | source(...) | main.rs:28:16:28:21 | sliced | $@ | main.rs:26:13:26:22 | source(...) | source(...) | | main.rs:38:10:38:11 | s4 | main.rs:32:14:32:23 | source(...) | main.rs:38:10:38:11 | s4 | $@ | main.rs:32:14:32:23 | source(...) | source(...) | -| main.rs:53:7:53:8 | s2 | main.rs:51:11:51:26 | source_slice(...) | main.rs:53:7:53:8 | s2 | $@ | main.rs:51:11:51:26 | source_slice(...) | source_slice(...) | -| main.rs:59:7:59:8 | s2 | main.rs:57:11:57:26 | source_slice(...) | main.rs:59:7:59:8 | s2 | $@ | main.rs:57:11:57:26 | source_slice(...) | source_slice(...) | -| main.rs:64:16:64:25 | s.as_str() | main.rs:63:13:63:22 | source(...) | main.rs:64:16:64:25 | s.as_str() | $@ | main.rs:63:13:63:22 | source(...) | source(...) | -| main.rs:71:10:71:19 | formatted1 | main.rs:68:13:68:22 | source(...) | main.rs:71:10:71:19 | formatted1 | $@ | main.rs:68:13:68:22 | source(...) | source(...) | -| main.rs:74:10:74:19 | formatted2 | main.rs:68:13:68:22 | source(...) | main.rs:74:10:74:19 | formatted2 | $@ | main.rs:68:13:68:22 | source(...) | source(...) | -| main.rs:78:10:78:19 | formatted3 | main.rs:76:17:76:32 | source_usize(...) | main.rs:78:10:78:19 | formatted3 | $@ | main.rs:76:17:76:32 | source_usize(...) | source_usize(...) | | main.rs:86:10:86:26 | MacroExpr | main.rs:82:14:82:23 | source(...) | main.rs:86:10:86:26 | MacroExpr | $@ | main.rs:82:14:82:23 | source(...) | source(...) | | main.rs:87:10:87:33 | MacroExpr | main.rs:82:14:82:23 | source(...) | main.rs:87:10:87:33 | MacroExpr | $@ | main.rs:82:14:82:23 | source(...) | source(...) | diff --git a/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected b/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected index 69f922e27bb2..7664c6d459b5 100644 --- a/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected +++ b/rust/ql/test/query-tests/security/CWE-022/TaintedPath.expected @@ -1,55 +1,11 @@ #select -| src/main.rs:10:5:10:22 | ...::read_to_string | src/main.rs:6:11:6:19 | file_name | src/main.rs:10:5:10:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:6:11:6:19 | file_name | user-provided value | -| src/main.rs:45:5:45:22 | ...::read_to_string | src/main.rs:37:11:37:19 | file_path | src/main.rs:45:5:45:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:37:11:37:19 | file_path | user-provided value | -| src/main.rs:59:5:59:22 | ...::read_to_string | src/main.rs:50:11:50:19 | file_path | src/main.rs:59:5:59:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:50:11:50:19 | file_path | user-provided value | edges -| src/main.rs:6:11:6:19 | file_name | src/main.rs:8:35:8:43 | file_name | provenance | | -| src/main.rs:8:9:8:17 | file_path | src/main.rs:10:24:10:32 | file_path | provenance | | -| src/main.rs:8:21:8:44 | ...::from(...) | src/main.rs:8:9:8:17 | file_path | provenance | | -| src/main.rs:8:35:8:43 | file_name | src/main.rs:8:21:8:44 | ...::from(...) | provenance | MaD:4 | -| src/main.rs:10:24:10:32 | file_path | src/main.rs:10:5:10:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | -| src/main.rs:37:11:37:19 | file_path | src/main.rs:40:52:40:60 | file_path | provenance | | -| src/main.rs:40:9:40:17 | file_path | src/main.rs:45:24:45:32 | file_path | provenance | | -| src/main.rs:40:21:40:62 | public_path.join(...) | src/main.rs:40:9:40:17 | file_path | provenance | | -| src/main.rs:40:38:40:61 | ...::from(...) | src/main.rs:40:21:40:62 | public_path.join(...) | provenance | MaD:3 | -| src/main.rs:40:52:40:60 | file_path | src/main.rs:40:38:40:61 | ...::from(...) | provenance | MaD:4 | -| src/main.rs:45:24:45:32 | file_path | src/main.rs:45:5:45:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | -| src/main.rs:50:11:50:19 | file_path | src/main.rs:53:52:53:60 | file_path | provenance | | -| src/main.rs:53:9:53:17 | file_path | src/main.rs:54:21:54:44 | file_path.canonicalize() [Ok] | provenance | Config | -| src/main.rs:53:21:53:62 | public_path.join(...) | src/main.rs:53:9:53:17 | file_path | provenance | | -| src/main.rs:53:38:53:61 | ...::from(...) | src/main.rs:53:21:53:62 | public_path.join(...) | provenance | MaD:3 | -| src/main.rs:53:52:53:60 | file_path | src/main.rs:53:38:53:61 | ...::from(...) | provenance | MaD:4 | -| src/main.rs:54:9:54:17 | file_path | src/main.rs:59:24:59:32 | file_path | provenance | | -| src/main.rs:54:21:54:44 | file_path.canonicalize() [Ok] | src/main.rs:54:21:54:53 | ... .unwrap() | provenance | MaD:2 | -| src/main.rs:54:21:54:53 | ... .unwrap() | src/main.rs:54:9:54:17 | file_path | provenance | | -| src/main.rs:59:24:59:32 | file_path | src/main.rs:59:5:59:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | -models -| 1 | Sink: lang:std; crate::fs::read_to_string; path-injection; Argument[0] | -| 2 | Summary: lang:core; ::unwrap; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 3 | Summary: lang:std; ::join; Argument[0]; ReturnValue; taint | -| 4 | Summary: lang:std; ::from; Argument[0]; ReturnValue; taint | nodes -| src/main.rs:6:11:6:19 | file_name | semmle.label | file_name | -| src/main.rs:8:9:8:17 | file_path | semmle.label | file_path | -| src/main.rs:8:21:8:44 | ...::from(...) | semmle.label | ...::from(...) | -| src/main.rs:8:35:8:43 | file_name | semmle.label | file_name | -| src/main.rs:10:5:10:22 | ...::read_to_string | semmle.label | ...::read_to_string | -| src/main.rs:10:24:10:32 | file_path | semmle.label | file_path | -| src/main.rs:37:11:37:19 | file_path | semmle.label | file_path | -| src/main.rs:40:9:40:17 | file_path | semmle.label | file_path | -| src/main.rs:40:21:40:62 | public_path.join(...) | semmle.label | public_path.join(...) | -| src/main.rs:40:38:40:61 | ...::from(...) | semmle.label | ...::from(...) | -| src/main.rs:40:52:40:60 | file_path | semmle.label | file_path | -| src/main.rs:45:5:45:22 | ...::read_to_string | semmle.label | ...::read_to_string | -| src/main.rs:45:24:45:32 | file_path | semmle.label | file_path | -| src/main.rs:50:11:50:19 | file_path | semmle.label | file_path | -| src/main.rs:53:9:53:17 | file_path | semmle.label | file_path | -| src/main.rs:53:21:53:62 | public_path.join(...) | semmle.label | public_path.join(...) | -| src/main.rs:53:38:53:61 | ...::from(...) | semmle.label | ...::from(...) | -| src/main.rs:53:52:53:60 | file_path | semmle.label | file_path | -| src/main.rs:54:9:54:17 | file_path | semmle.label | file_path | -| src/main.rs:54:21:54:44 | file_path.canonicalize() [Ok] | semmle.label | file_path.canonicalize() [Ok] | -| src/main.rs:54:21:54:53 | ... .unwrap() | semmle.label | ... .unwrap() | -| src/main.rs:59:5:59:22 | ...::read_to_string | semmle.label | ...::read_to_string | -| src/main.rs:59:24:59:32 | file_path | semmle.label | file_path | subpaths +testFailures +| src/main.rs:6:38:6:56 | //... | Missing result: Source=remote1 | +| src/main.rs:10:64:10:122 | //... | Missing result: Alert[rust/path-injection]=remote1 | +| src/main.rs:37:38:37:56 | //... | Missing result: Source=remote4 | +| src/main.rs:45:64:45:122 | //... | Missing result: Alert[rust/path-injection]=remote4 | +| src/main.rs:50:38:50:56 | //... | Missing result: Source=remote5 | +| src/main.rs:59:64:59:122 | //... | Missing result: Alert[rust/path-injection]=remote5 | diff --git a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected index b5aa4a386f29..da439bd82cbb 100644 --- a/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected +++ b/rust/ql/test/query-tests/security/CWE-089/SqlInjection.expected @@ -1,114 +1,15 @@ #select -| sqlx.rs:62:26:62:46 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:62:26:62:46 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | -| sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value | -| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | -| sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | -| sqlx.rs:73:25:73:45 | safe_query_3.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:73:25:73:45 | safe_query_3.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | -| sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | This query depends on a $@. | sqlx.rs:47:22:47:35 | ...::args | user-provided value | -| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | -| sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | This query depends on a $@. | sqlx.rs:48:25:48:46 | ...::get | user-provided value | edges -| sqlx.rs:47:9:47:18 | arg_string | sqlx.rs:53:27:53:36 | arg_string | provenance | | -| sqlx.rs:47:22:47:35 | ...::args | sqlx.rs:47:22:47:37 | ...::args(...) [element] | provenance | Src:MaD:1 | -| sqlx.rs:47:22:47:37 | ...::args(...) [element] | sqlx.rs:47:22:47:44 | ... .nth(...) [Some] | provenance | MaD:10 | -| sqlx.rs:47:22:47:44 | ... .nth(...) [Some] | sqlx.rs:47:22:47:77 | ... .unwrap_or(...) | provenance | MaD:5 | -| sqlx.rs:47:22:47:77 | ... .unwrap_or(...) | sqlx.rs:47:9:47:18 | arg_string | provenance | | -| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:49:25:49:52 | remote_string.parse() [Ok] | provenance | MaD:8 | -| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:54:27:54:39 | remote_string | provenance | | -| sqlx.rs:48:9:48:21 | remote_string | sqlx.rs:56:34:56:89 | MacroExpr | provenance | | -| sqlx.rs:48:25:48:46 | ...::get | sqlx.rs:48:25:48:69 | ...::get(...) [Ok] | provenance | Src:MaD:2 | -| sqlx.rs:48:25:48:69 | ...::get(...) [Ok] | sqlx.rs:48:25:48:78 | ... .unwrap() | provenance | MaD:6 | -| sqlx.rs:48:25:48:78 | ... .unwrap() | sqlx.rs:48:25:48:85 | ... .text() [Ok] | provenance | MaD:11 | -| sqlx.rs:48:25:48:85 | ... .text() [Ok] | sqlx.rs:48:25:48:118 | ... .unwrap_or(...) | provenance | MaD:7 | -| sqlx.rs:48:25:48:118 | ... .unwrap_or(...) | sqlx.rs:48:9:48:21 | remote_string | provenance | | -| sqlx.rs:49:9:49:21 | remote_number | sqlx.rs:52:32:52:87 | MacroExpr | provenance | | -| sqlx.rs:49:25:49:52 | remote_string.parse() [Ok] | sqlx.rs:49:25:49:65 | ... .unwrap_or(...) | provenance | MaD:7 | -| sqlx.rs:49:25:49:65 | ... .unwrap_or(...) | sqlx.rs:49:9:49:21 | remote_number | provenance | | -| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:62:26:62:46 | safe_query_3.as_str() | provenance | MaD:3 | -| sqlx.rs:52:9:52:20 | safe_query_3 | sqlx.rs:73:25:73:45 | safe_query_3.as_str() | provenance | MaD:3 | -| sqlx.rs:52:24:52:88 | res | sqlx.rs:52:32:52:87 | { ... } | provenance | | -| sqlx.rs:52:32:52:87 | ...::format(...) | sqlx.rs:52:24:52:88 | res | provenance | | -| sqlx.rs:52:32:52:87 | ...::must_use(...) | sqlx.rs:52:9:52:20 | safe_query_3 | provenance | | -| sqlx.rs:52:32:52:87 | MacroExpr | sqlx.rs:52:32:52:87 | ...::format(...) | provenance | MaD:4 | -| sqlx.rs:52:32:52:87 | { ... } | sqlx.rs:52:32:52:87 | ...::must_use(...) | provenance | MaD:9 | -| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:63:26:63:39 | unsafe_query_1 [&ref] | provenance | | -| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | provenance | MaD:3 | -| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:74:25:74:38 | unsafe_query_1 [&ref] | provenance | | -| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | provenance | MaD:3 | -| sqlx.rs:53:26:53:36 | &arg_string [&ref] | sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | provenance | | -| sqlx.rs:53:27:53:36 | arg_string | sqlx.rs:53:26:53:36 | &arg_string [&ref] | provenance | | -| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:65:30:65:43 | unsafe_query_2 [&ref] | provenance | | -| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | provenance | MaD:3 | -| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:76:29:76:42 | unsafe_query_2 [&ref] | provenance | | -| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | provenance | MaD:3 | -| sqlx.rs:54:26:54:39 | &remote_string [&ref] | sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | provenance | | -| sqlx.rs:54:27:54:39 | remote_string | sqlx.rs:54:26:54:39 | &remote_string [&ref] | provenance | | -| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | provenance | MaD:3 | -| sqlx.rs:56:9:56:22 | unsafe_query_4 | sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | provenance | MaD:3 | -| sqlx.rs:56:26:56:90 | res | sqlx.rs:56:34:56:89 | { ... } | provenance | | -| sqlx.rs:56:34:56:89 | ...::format(...) | sqlx.rs:56:26:56:90 | res | provenance | | -| sqlx.rs:56:34:56:89 | ...::must_use(...) | sqlx.rs:56:9:56:22 | unsafe_query_4 | provenance | | -| sqlx.rs:56:34:56:89 | MacroExpr | sqlx.rs:56:34:56:89 | ...::format(...) | provenance | MaD:4 | -| sqlx.rs:56:34:56:89 | { ... } | sqlx.rs:56:34:56:89 | ...::must_use(...) | provenance | MaD:9 | -| sqlx.rs:63:26:63:39 | unsafe_query_1 [&ref] | sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | provenance | MaD:3 | -| sqlx.rs:65:30:65:43 | unsafe_query_2 [&ref] | sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | provenance | MaD:3 | -| sqlx.rs:74:25:74:38 | unsafe_query_1 [&ref] | sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | provenance | MaD:3 | -| sqlx.rs:76:29:76:42 | unsafe_query_2 [&ref] | sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | provenance | MaD:3 | -models -| 1 | Source: lang:std; crate::env::args; commandargs; ReturnValue.Element | -| 2 | Source: repo:https://github.com/seanmonstar/reqwest:reqwest; crate::blocking::get; remote; ReturnValue.Field[crate::result::Result::Ok(0)] | -| 3 | Summary: lang:alloc; ::as_str; Argument[self]; ReturnValue; value | -| 4 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint | -| 5 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 6 | Summary: lang:core; ::unwrap; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 7 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 8 | Summary: lang:core; ::parse; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 9 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value | -| 10 | Summary: lang:core; crate::iter::traits::iterator::Iterator::nth; Argument[self].Element; ReturnValue.Field[crate::option::Option::Some(0)]; value | -| 11 | Summary: repo:https://github.com/seanmonstar/reqwest:reqwest; ::text; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | nodes -| sqlx.rs:47:9:47:18 | arg_string | semmle.label | arg_string | -| sqlx.rs:47:22:47:35 | ...::args | semmle.label | ...::args | -| sqlx.rs:47:22:47:37 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | -| sqlx.rs:47:22:47:44 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | -| sqlx.rs:47:22:47:77 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| sqlx.rs:48:9:48:21 | remote_string | semmle.label | remote_string | -| sqlx.rs:48:25:48:46 | ...::get | semmle.label | ...::get | -| sqlx.rs:48:25:48:69 | ...::get(...) [Ok] | semmle.label | ...::get(...) [Ok] | -| sqlx.rs:48:25:48:78 | ... .unwrap() | semmle.label | ... .unwrap() | -| sqlx.rs:48:25:48:85 | ... .text() [Ok] | semmle.label | ... .text() [Ok] | -| sqlx.rs:48:25:48:118 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| sqlx.rs:49:9:49:21 | remote_number | semmle.label | remote_number | -| sqlx.rs:49:25:49:52 | remote_string.parse() [Ok] | semmle.label | remote_string.parse() [Ok] | -| sqlx.rs:49:25:49:65 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| sqlx.rs:52:9:52:20 | safe_query_3 | semmle.label | safe_query_3 | -| sqlx.rs:52:24:52:88 | res | semmle.label | res | -| sqlx.rs:52:32:52:87 | ...::format(...) | semmle.label | ...::format(...) | -| sqlx.rs:52:32:52:87 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| sqlx.rs:52:32:52:87 | MacroExpr | semmle.label | MacroExpr | -| sqlx.rs:52:32:52:87 | { ... } | semmle.label | { ... } | -| sqlx.rs:53:9:53:22 | unsafe_query_1 [&ref] | semmle.label | unsafe_query_1 [&ref] | -| sqlx.rs:53:26:53:36 | &arg_string [&ref] | semmle.label | &arg_string [&ref] | -| sqlx.rs:53:27:53:36 | arg_string | semmle.label | arg_string | -| sqlx.rs:54:9:54:22 | unsafe_query_2 [&ref] | semmle.label | unsafe_query_2 [&ref] | -| sqlx.rs:54:26:54:39 | &remote_string [&ref] | semmle.label | &remote_string [&ref] | -| sqlx.rs:54:27:54:39 | remote_string | semmle.label | remote_string | -| sqlx.rs:56:9:56:22 | unsafe_query_4 | semmle.label | unsafe_query_4 | -| sqlx.rs:56:26:56:90 | res | semmle.label | res | -| sqlx.rs:56:34:56:89 | ...::format(...) | semmle.label | ...::format(...) | -| sqlx.rs:56:34:56:89 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| sqlx.rs:56:34:56:89 | MacroExpr | semmle.label | MacroExpr | -| sqlx.rs:56:34:56:89 | { ... } | semmle.label | { ... } | -| sqlx.rs:62:26:62:46 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() | -| sqlx.rs:63:26:63:39 | unsafe_query_1 [&ref] | semmle.label | unsafe_query_1 [&ref] | -| sqlx.rs:63:26:63:48 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() | -| sqlx.rs:65:30:65:43 | unsafe_query_2 [&ref] | semmle.label | unsafe_query_2 [&ref] | -| sqlx.rs:65:30:65:52 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() | -| sqlx.rs:67:30:67:52 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() | -| sqlx.rs:73:25:73:45 | safe_query_3.as_str() | semmle.label | safe_query_3.as_str() | -| sqlx.rs:74:25:74:38 | unsafe_query_1 [&ref] | semmle.label | unsafe_query_1 [&ref] | -| sqlx.rs:74:25:74:47 | unsafe_query_1.as_str() | semmle.label | unsafe_query_1.as_str() | -| sqlx.rs:76:29:76:42 | unsafe_query_2 [&ref] | semmle.label | unsafe_query_2 [&ref] | -| sqlx.rs:76:29:76:51 | unsafe_query_2.as_str() | semmle.label | unsafe_query_2.as_str() | -| sqlx.rs:78:29:78:51 | unsafe_query_4.as_str() | semmle.label | unsafe_query_4.as_str() | subpaths +testFailures +| sqlx.rs:47:80:47:96 | //... | Missing result: Source=args1 | +| sqlx.rs:48:121:48:139 | //... | Missing result: Source=remote1 | +| sqlx.rs:62:57:62:113 | //... | Fixed spurious result: Alert[rust/sql-injection]=remote1 | +| sqlx.rs:63:59:63:103 | //... | Missing result: Alert[rust/sql-injection]=args1 | +| sqlx.rs:65:63:65:109 | //... | Missing result: Alert[rust/sql-injection]=remote1 | +| sqlx.rs:67:63:67:109 | //... | Missing result: Alert[rust/sql-injection]=remote1 | +| sqlx.rs:73:71:73:127 | //... | Fixed spurious result: Alert[rust/sql-injection]=remote1 | +| sqlx.rs:74:73:74:117 | //... | Missing result: Alert[rust/sql-injection]=args1 | +| sqlx.rs:76:77:76:123 | //... | Missing result: Alert[rust/sql-injection]=remote1 | +| sqlx.rs:78:77:78:123 | //... | Missing result: Alert[rust/sql-injection]=remote1 | diff --git a/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected b/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected index 61218e9c9085..43d6b0657170 100644 --- a/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected +++ b/rust/ql/test/query-tests/security/CWE-312/CleartextLogging.expected @@ -42,194 +42,148 @@ | test_logging.rs:165:16:165:61 | ...::panic_fmt | test_logging.rs:165:53:165:60 | password | test_logging.rs:165:16:165:61 | ...::panic_fmt | This operation writes $@ to a log file. | test_logging.rs:165:53:165:60 | password | password | | test_logging.rs:166:16:166:63 | ...::assert_failed | test_logging.rs:166:55:166:62 | password | test_logging.rs:166:16:166:63 | ...::assert_failed | This operation writes $@ to a log file. | test_logging.rs:166:55:166:62 | password | password | | test_logging.rs:167:17:167:64 | ...::assert_failed | test_logging.rs:167:56:167:63 | password | test_logging.rs:167:17:167:64 | ...::assert_failed | This operation writes $@ to a log file. | test_logging.rs:167:56:167:63 | password | password | -| test_logging.rs:168:27:168:32 | expect | test_logging.rs:168:58:168:65 | password | test_logging.rs:168:27:168:32 | expect | This operation writes $@ to a log file. | test_logging.rs:168:58:168:65 | password | password | -| test_logging.rs:174:30:174:34 | write | test_logging.rs:174:62:174:69 | password | test_logging.rs:174:30:174:34 | write | This operation writes $@ to a log file. | test_logging.rs:174:62:174:69 | password | password | -| test_logging.rs:175:30:175:38 | write_all | test_logging.rs:175:66:175:73 | password | test_logging.rs:175:30:175:38 | write_all | This operation writes $@ to a log file. | test_logging.rs:175:66:175:73 | password | password | -| test_logging.rs:178:9:178:13 | write | test_logging.rs:178:41:178:48 | password | test_logging.rs:178:9:178:13 | write | This operation writes $@ to a log file. | test_logging.rs:178:41:178:48 | password | password | -| test_logging.rs:181:9:181:13 | write | test_logging.rs:181:41:181:48 | password | test_logging.rs:181:9:181:13 | write | This operation writes $@ to a log file. | test_logging.rs:181:41:181:48 | password | password | edges -| test_logging.rs:42:12:42:35 | MacroExpr | test_logging.rs:42:5:42:36 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:42:12:42:35 | MacroExpr | test_logging.rs:42:5:42:36 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:42:28:42:35 | password | test_logging.rs:42:12:42:35 | MacroExpr | provenance | | -| test_logging.rs:43:12:43:35 | MacroExpr | test_logging.rs:43:5:43:36 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:43:12:43:35 | MacroExpr | test_logging.rs:43:5:43:36 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:43:28:43:35 | password | test_logging.rs:43:12:43:35 | MacroExpr | provenance | | -| test_logging.rs:44:11:44:34 | MacroExpr | test_logging.rs:44:5:44:35 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:44:11:44:34 | MacroExpr | test_logging.rs:44:5:44:35 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:44:27:44:34 | password | test_logging.rs:44:11:44:34 | MacroExpr | provenance | | -| test_logging.rs:45:12:45:35 | MacroExpr | test_logging.rs:45:5:45:36 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:45:12:45:35 | MacroExpr | test_logging.rs:45:5:45:36 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:45:28:45:35 | password | test_logging.rs:45:12:45:35 | MacroExpr | provenance | | -| test_logging.rs:46:11:46:34 | MacroExpr | test_logging.rs:46:5:46:35 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:46:11:46:34 | MacroExpr | test_logging.rs:46:5:46:35 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:46:27:46:34 | password | test_logging.rs:46:11:46:34 | MacroExpr | provenance | | -| test_logging.rs:47:24:47:47 | MacroExpr | test_logging.rs:47:5:47:48 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:47:24:47:47 | MacroExpr | test_logging.rs:47:5:47:48 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:47:40:47:47 | password | test_logging.rs:47:24:47:47 | MacroExpr | provenance | | -| test_logging.rs:52:12:52:35 | MacroExpr | test_logging.rs:52:5:52:36 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:52:12:52:35 | MacroExpr | test_logging.rs:52:5:52:36 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:52:28:52:35 | password | test_logging.rs:52:12:52:35 | MacroExpr | provenance | | -| test_logging.rs:54:12:54:48 | MacroExpr | test_logging.rs:54:5:54:49 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:54:12:54:48 | MacroExpr | test_logging.rs:54:5:54:49 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:54:41:54:48 | password | test_logging.rs:54:12:54:48 | MacroExpr | provenance | | -| test_logging.rs:56:12:56:46 | MacroExpr | test_logging.rs:56:5:56:47 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:56:12:56:46 | MacroExpr | test_logging.rs:56:5:56:47 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:56:39:56:46 | password | test_logging.rs:56:12:56:46 | MacroExpr | provenance | | -| test_logging.rs:57:12:57:33 | MacroExpr | test_logging.rs:57:5:57:34 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:57:12:57:33 | MacroExpr | test_logging.rs:57:5:57:34 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:57:24:57:31 | password | test_logging.rs:57:12:57:33 | MacroExpr | provenance | | -| test_logging.rs:58:12:58:35 | MacroExpr | test_logging.rs:58:5:58:36 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:58:12:58:35 | MacroExpr | test_logging.rs:58:5:58:36 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:58:24:58:31 | password | test_logging.rs:58:12:58:35 | MacroExpr | provenance | | -| test_logging.rs:60:30:60:53 | MacroExpr | test_logging.rs:60:5:60:54 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:60:30:60:53 | MacroExpr | test_logging.rs:60:5:60:54 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:60:46:60:53 | password | test_logging.rs:60:30:60:53 | MacroExpr | provenance | | -| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | +| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:61:20:61:28 | &... [&ref, tuple.0] | test_logging.rs:61:5:61:55 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | | test_logging.rs:61:20:61:28 | &password | test_logging.rs:61:20:61:28 | TupleExpr [tuple.0] | provenance | | | test_logging.rs:61:20:61:28 | &password [&ref] | test_logging.rs:61:20:61:28 | TupleExpr [tuple.0, &ref] | provenance | | | test_logging.rs:61:20:61:28 | TupleExpr [tuple.0, &ref] | test_logging.rs:61:20:61:28 | &... [&ref, tuple.0, &ref] | provenance | | | test_logging.rs:61:20:61:28 | TupleExpr [tuple.0] | test_logging.rs:61:20:61:28 | &... [&ref, tuple.0] | provenance | | | test_logging.rs:61:21:61:28 | password | test_logging.rs:61:20:61:28 | &password | provenance | Config | | test_logging.rs:61:21:61:28 | password | test_logging.rs:61:20:61:28 | &password [&ref] | provenance | | -| test_logging.rs:65:24:65:47 | MacroExpr | test_logging.rs:65:5:65:48 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:65:24:65:47 | MacroExpr | test_logging.rs:65:5:65:48 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:65:40:65:47 | password | test_logging.rs:65:24:65:47 | MacroExpr | provenance | | -| test_logging.rs:67:42:67:65 | MacroExpr | test_logging.rs:67:5:67:66 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:67:42:67:65 | MacroExpr | test_logging.rs:67:5:67:66 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:67:58:67:65 | password | test_logging.rs:67:42:67:65 | MacroExpr | provenance | | -| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0, &ref] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0, &ref] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | +| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0, &ref] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0, &ref] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:68:18:68:26 | &... [&ref, tuple.0] | test_logging.rs:68:5:68:67 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | | test_logging.rs:68:18:68:26 | &password | test_logging.rs:68:18:68:26 | TupleExpr [tuple.0] | provenance | | | test_logging.rs:68:18:68:26 | &password [&ref] | test_logging.rs:68:18:68:26 | TupleExpr [tuple.0, &ref] | provenance | | | test_logging.rs:68:18:68:26 | TupleExpr [tuple.0, &ref] | test_logging.rs:68:18:68:26 | &... [&ref, tuple.0, &ref] | provenance | | | test_logging.rs:68:18:68:26 | TupleExpr [tuple.0] | test_logging.rs:68:18:68:26 | &... [&ref, tuple.0] | provenance | | | test_logging.rs:68:19:68:26 | password | test_logging.rs:68:18:68:26 | &password | provenance | Config | | test_logging.rs:68:19:68:26 | password | test_logging.rs:68:18:68:26 | &password [&ref] | provenance | | -| test_logging.rs:72:23:72:46 | MacroExpr | test_logging.rs:72:5:72:47 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:72:23:72:46 | MacroExpr | test_logging.rs:72:5:72:47 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:72:39:72:46 | password | test_logging.rs:72:23:72:46 | MacroExpr | provenance | | -| test_logging.rs:74:41:74:64 | MacroExpr | test_logging.rs:74:5:74:65 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:74:41:74:64 | MacroExpr | test_logging.rs:74:5:74:65 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:74:57:74:64 | password | test_logging.rs:74:41:74:64 | MacroExpr | provenance | | -| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | +| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:75:20:75:28 | &... [&ref, tuple.0] | test_logging.rs:75:5:75:51 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | | test_logging.rs:75:20:75:28 | &password | test_logging.rs:75:20:75:28 | TupleExpr [tuple.0] | provenance | | | test_logging.rs:75:20:75:28 | &password [&ref] | test_logging.rs:75:20:75:28 | TupleExpr [tuple.0, &ref] | provenance | | | test_logging.rs:75:20:75:28 | TupleExpr [tuple.0, &ref] | test_logging.rs:75:20:75:28 | &... [&ref, tuple.0, &ref] | provenance | | | test_logging.rs:75:20:75:28 | TupleExpr [tuple.0] | test_logging.rs:75:20:75:28 | &... [&ref, tuple.0] | provenance | | | test_logging.rs:75:21:75:28 | password | test_logging.rs:75:20:75:28 | &password | provenance | Config | | test_logging.rs:75:21:75:28 | password | test_logging.rs:75:20:75:28 | &password [&ref] | provenance | | -| test_logging.rs:76:23:76:46 | MacroExpr | test_logging.rs:76:5:76:47 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:76:23:76:46 | MacroExpr | test_logging.rs:76:5:76:47 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:76:39:76:46 | password | test_logging.rs:76:23:76:46 | MacroExpr | provenance | | -| test_logging.rs:82:20:82:43 | MacroExpr | test_logging.rs:82:5:82:44 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:82:20:82:43 | MacroExpr | test_logging.rs:82:5:82:44 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:82:36:82:43 | password | test_logging.rs:82:20:82:43 | MacroExpr | provenance | | -| test_logging.rs:84:38:84:61 | MacroExpr | test_logging.rs:84:5:84:62 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:84:38:84:61 | MacroExpr | test_logging.rs:84:5:84:62 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:84:54:84:61 | password | test_logging.rs:84:38:84:61 | MacroExpr | provenance | | -| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 Sink:MaD:10 | -| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:10 Sink:MaD:10 Sink:MaD:10 | +| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0, &ref] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 Sink:MaD:6 | +| test_logging.rs:85:20:85:28 | &... [&ref, tuple.0] | test_logging.rs:85:5:85:48 | ...::log | provenance | MaD:6 Sink:MaD:6 Sink:MaD:6 | | test_logging.rs:85:20:85:28 | &password | test_logging.rs:85:20:85:28 | TupleExpr [tuple.0] | provenance | | | test_logging.rs:85:20:85:28 | &password [&ref] | test_logging.rs:85:20:85:28 | TupleExpr [tuple.0, &ref] | provenance | | | test_logging.rs:85:20:85:28 | TupleExpr [tuple.0, &ref] | test_logging.rs:85:20:85:28 | &... [&ref, tuple.0, &ref] | provenance | | | test_logging.rs:85:20:85:28 | TupleExpr [tuple.0] | test_logging.rs:85:20:85:28 | &... [&ref, tuple.0] | provenance | | | test_logging.rs:85:21:85:28 | password | test_logging.rs:85:20:85:28 | &password | provenance | Config | | test_logging.rs:85:21:85:28 | password | test_logging.rs:85:20:85:28 | &password [&ref] | provenance | | -| test_logging.rs:86:20:86:43 | MacroExpr | test_logging.rs:86:5:86:44 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:86:20:86:43 | MacroExpr | test_logging.rs:86:5:86:44 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:86:36:86:43 | password | test_logging.rs:86:20:86:43 | MacroExpr | provenance | | | test_logging.rs:93:9:93:10 | m1 | test_logging.rs:94:11:94:28 | MacroExpr | provenance | | | test_logging.rs:93:14:93:22 | &password | test_logging.rs:93:9:93:10 | m1 | provenance | | | test_logging.rs:93:15:93:22 | password | test_logging.rs:93:14:93:22 | &password | provenance | Config | -| test_logging.rs:94:11:94:28 | MacroExpr | test_logging.rs:94:5:94:29 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:94:11:94:28 | MacroExpr | test_logging.rs:94:5:94:29 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:96:9:96:10 | m2 | test_logging.rs:97:11:97:18 | MacroExpr | provenance | | | test_logging.rs:96:41:96:49 | &password | test_logging.rs:96:9:96:10 | m2 | provenance | | | test_logging.rs:96:42:96:49 | password | test_logging.rs:96:41:96:49 | &password | provenance | Config | -| test_logging.rs:97:11:97:18 | MacroExpr | test_logging.rs:97:5:97:19 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:97:11:97:18 | MacroExpr | test_logging.rs:97:5:97:19 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:99:9:99:10 | m3 | test_logging.rs:100:11:100:18 | MacroExpr | provenance | | | test_logging.rs:99:14:99:46 | res | test_logging.rs:99:22:99:45 | { ... } | provenance | | | test_logging.rs:99:22:99:45 | ...::format(...) | test_logging.rs:99:14:99:46 | res | provenance | | | test_logging.rs:99:22:99:45 | ...::must_use(...) | test_logging.rs:99:9:99:10 | m3 | provenance | | -| test_logging.rs:99:22:99:45 | MacroExpr | test_logging.rs:99:22:99:45 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:99:22:99:45 | { ... } | test_logging.rs:99:22:99:45 | ...::must_use(...) | provenance | MaD:14 | +| test_logging.rs:99:22:99:45 | MacroExpr | test_logging.rs:99:22:99:45 | ...::format(...) | provenance | MaD:7 | +| test_logging.rs:99:22:99:45 | { ... } | test_logging.rs:99:22:99:45 | ...::must_use(...) | provenance | MaD:8 | | test_logging.rs:99:38:99:45 | password | test_logging.rs:99:22:99:45 | MacroExpr | provenance | | -| test_logging.rs:100:11:100:18 | MacroExpr | test_logging.rs:100:5:100:19 | ...::log | provenance | MaD:9 Sink:MaD:9 | -| test_logging.rs:118:12:118:41 | MacroExpr | test_logging.rs:118:5:118:42 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:100:11:100:18 | MacroExpr | test_logging.rs:100:5:100:19 | ...::log | provenance | MaD:5 Sink:MaD:5 | +| test_logging.rs:118:12:118:41 | MacroExpr | test_logging.rs:118:5:118:42 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:118:28:118:41 | get_password(...) | test_logging.rs:118:12:118:41 | MacroExpr | provenance | | | test_logging.rs:129:9:129:10 | t1 [tuple.1] | test_logging.rs:131:28:131:29 | t1 [tuple.1] | provenance | | | test_logging.rs:129:14:129:33 | TupleExpr [tuple.1] | test_logging.rs:129:9:129:10 | t1 [tuple.1] | provenance | | | test_logging.rs:129:25:129:32 | password | test_logging.rs:129:14:129:33 | TupleExpr [tuple.1] | provenance | | -| test_logging.rs:131:12:131:31 | MacroExpr | test_logging.rs:131:5:131:32 | ...::log | provenance | MaD:9 Sink:MaD:9 | +| test_logging.rs:131:12:131:31 | MacroExpr | test_logging.rs:131:5:131:32 | ...::log | provenance | MaD:5 Sink:MaD:5 | | test_logging.rs:131:28:131:29 | t1 [tuple.1] | test_logging.rs:131:28:131:31 | t1.1 | provenance | | | test_logging.rs:131:28:131:31 | t1.1 | test_logging.rs:131:12:131:31 | MacroExpr | provenance | | -| test_logging.rs:152:12:152:37 | MacroExpr | test_logging.rs:152:5:152:38 | ...::_print | provenance | MaD:8 Sink:MaD:8 | +| test_logging.rs:152:12:152:37 | MacroExpr | test_logging.rs:152:5:152:38 | ...::_print | provenance | MaD:4 Sink:MaD:4 | | test_logging.rs:152:30:152:37 | password | test_logging.rs:152:12:152:37 | MacroExpr | provenance | | -| test_logging.rs:153:14:153:37 | MacroExpr | test_logging.rs:153:5:153:38 | ...::_print | provenance | MaD:8 Sink:MaD:8 | +| test_logging.rs:153:14:153:37 | MacroExpr | test_logging.rs:153:5:153:38 | ...::_print | provenance | MaD:4 Sink:MaD:4 | | test_logging.rs:153:30:153:37 | password | test_logging.rs:153:14:153:37 | MacroExpr | provenance | | -| test_logging.rs:154:13:154:38 | MacroExpr | test_logging.rs:154:5:154:39 | ...::_eprint | provenance | MaD:7 Sink:MaD:7 | +| test_logging.rs:154:13:154:38 | MacroExpr | test_logging.rs:154:5:154:39 | ...::_eprint | provenance | MaD:3 Sink:MaD:3 | | test_logging.rs:154:31:154:38 | password | test_logging.rs:154:13:154:38 | MacroExpr | provenance | | -| test_logging.rs:155:15:155:38 | MacroExpr | test_logging.rs:155:5:155:39 | ...::_eprint | provenance | MaD:7 Sink:MaD:7 | +| test_logging.rs:155:15:155:38 | MacroExpr | test_logging.rs:155:5:155:39 | ...::_eprint | provenance | MaD:3 Sink:MaD:3 | | test_logging.rs:155:31:155:38 | password | test_logging.rs:155:15:155:38 | MacroExpr | provenance | | -| test_logging.rs:158:23:158:46 | MacroExpr | test_logging.rs:158:16:158:47 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:158:23:158:46 | MacroExpr | test_logging.rs:158:16:158:47 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:158:39:158:46 | password | test_logging.rs:158:23:158:46 | MacroExpr | provenance | | -| test_logging.rs:159:22:159:45 | MacroExpr | test_logging.rs:159:16:159:46 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:159:22:159:45 | MacroExpr | test_logging.rs:159:16:159:46 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:159:38:159:45 | password | test_logging.rs:159:22:159:45 | MacroExpr | provenance | | -| test_logging.rs:160:31:160:54 | MacroExpr | test_logging.rs:160:16:160:55 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:160:31:160:54 | MacroExpr | test_logging.rs:160:16:160:55 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:160:47:160:54 | password | test_logging.rs:160:31:160:54 | MacroExpr | provenance | | -| test_logging.rs:161:29:161:52 | MacroExpr | test_logging.rs:161:16:161:53 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:161:29:161:52 | MacroExpr | test_logging.rs:161:16:161:53 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:161:45:161:52 | password | test_logging.rs:161:29:161:52 | MacroExpr | provenance | | -| test_logging.rs:162:31:162:54 | MacroExpr | test_logging.rs:162:16:162:55 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:162:31:162:54 | MacroExpr | test_logging.rs:162:16:162:55 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:162:47:162:54 | password | test_logging.rs:162:31:162:54 | MacroExpr | provenance | | -| test_logging.rs:163:33:163:56 | ...::Some(...) [Some] | test_logging.rs:163:16:163:57 | ...::assert_failed | provenance | MaD:2 Sink:MaD:2 | +| test_logging.rs:163:33:163:56 | ...::Some(...) [Some] | test_logging.rs:163:16:163:57 | ...::assert_failed | provenance | MaD:1 Sink:MaD:1 | | test_logging.rs:163:33:163:56 | MacroExpr | test_logging.rs:163:33:163:56 | ...::Some(...) [Some] | provenance | | | test_logging.rs:163:49:163:56 | password | test_logging.rs:163:33:163:56 | MacroExpr | provenance | | -| test_logging.rs:164:33:164:56 | ...::Some(...) [Some] | test_logging.rs:164:16:164:57 | ...::assert_failed | provenance | MaD:2 Sink:MaD:2 | +| test_logging.rs:164:33:164:56 | ...::Some(...) [Some] | test_logging.rs:164:16:164:57 | ...::assert_failed | provenance | MaD:1 Sink:MaD:1 | | test_logging.rs:164:33:164:56 | MacroExpr | test_logging.rs:164:33:164:56 | ...::Some(...) [Some] | provenance | | | test_logging.rs:164:49:164:56 | password | test_logging.rs:164:33:164:56 | MacroExpr | provenance | | -| test_logging.rs:165:37:165:60 | MacroExpr | test_logging.rs:165:16:165:61 | ...::panic_fmt | provenance | MaD:3 Sink:MaD:3 | +| test_logging.rs:165:37:165:60 | MacroExpr | test_logging.rs:165:16:165:61 | ...::panic_fmt | provenance | MaD:2 Sink:MaD:2 | | test_logging.rs:165:53:165:60 | password | test_logging.rs:165:37:165:60 | MacroExpr | provenance | | -| test_logging.rs:166:39:166:62 | ...::Some(...) [Some] | test_logging.rs:166:16:166:63 | ...::assert_failed | provenance | MaD:2 Sink:MaD:2 | +| test_logging.rs:166:39:166:62 | ...::Some(...) [Some] | test_logging.rs:166:16:166:63 | ...::assert_failed | provenance | MaD:1 Sink:MaD:1 | | test_logging.rs:166:39:166:62 | MacroExpr | test_logging.rs:166:39:166:62 | ...::Some(...) [Some] | provenance | | | test_logging.rs:166:55:166:62 | password | test_logging.rs:166:39:166:62 | MacroExpr | provenance | | -| test_logging.rs:167:40:167:63 | ...::Some(...) [Some] | test_logging.rs:167:17:167:64 | ...::assert_failed | provenance | MaD:2 Sink:MaD:2 | +| test_logging.rs:167:40:167:63 | ...::Some(...) [Some] | test_logging.rs:167:17:167:64 | ...::assert_failed | provenance | MaD:1 Sink:MaD:1 | | test_logging.rs:167:40:167:63 | MacroExpr | test_logging.rs:167:40:167:63 | ...::Some(...) [Some] | provenance | | | test_logging.rs:167:56:167:63 | password | test_logging.rs:167:40:167:63 | MacroExpr | provenance | | -| test_logging.rs:168:34:168:66 | res | test_logging.rs:168:42:168:65 | { ... } | provenance | | -| test_logging.rs:168:34:168:75 | ... .as_str() | test_logging.rs:168:27:168:32 | expect | provenance | MaD:1 Sink:MaD:1 | -| test_logging.rs:168:42:168:65 | ...::format(...) | test_logging.rs:168:34:168:66 | res | provenance | | -| test_logging.rs:168:42:168:65 | ...::must_use(...) | test_logging.rs:168:34:168:75 | ... .as_str() | provenance | MaD:12 | -| test_logging.rs:168:42:168:65 | MacroExpr | test_logging.rs:168:42:168:65 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:168:42:168:65 | { ... } | test_logging.rs:168:42:168:65 | ...::must_use(...) | provenance | MaD:14 | -| test_logging.rs:168:58:168:65 | password | test_logging.rs:168:42:168:65 | MacroExpr | provenance | | -| test_logging.rs:174:36:174:70 | res | test_logging.rs:174:44:174:69 | { ... } | provenance | | -| test_logging.rs:174:36:174:81 | ... .as_bytes() | test_logging.rs:174:30:174:34 | write | provenance | MaD:5 Sink:MaD:5 | -| test_logging.rs:174:44:174:69 | ...::format(...) | test_logging.rs:174:36:174:70 | res | provenance | | -| test_logging.rs:174:44:174:69 | ...::must_use(...) | test_logging.rs:174:36:174:81 | ... .as_bytes() | provenance | MaD:11 | -| test_logging.rs:174:44:174:69 | MacroExpr | test_logging.rs:174:44:174:69 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:174:44:174:69 | { ... } | test_logging.rs:174:44:174:69 | ...::must_use(...) | provenance | MaD:14 | -| test_logging.rs:174:62:174:69 | password | test_logging.rs:174:44:174:69 | MacroExpr | provenance | | -| test_logging.rs:175:40:175:74 | res | test_logging.rs:175:48:175:73 | { ... } | provenance | | -| test_logging.rs:175:40:175:85 | ... .as_bytes() | test_logging.rs:175:30:175:38 | write_all | provenance | MaD:6 Sink:MaD:6 | -| test_logging.rs:175:48:175:73 | ...::format(...) | test_logging.rs:175:40:175:74 | res | provenance | | -| test_logging.rs:175:48:175:73 | ...::must_use(...) | test_logging.rs:175:40:175:85 | ... .as_bytes() | provenance | MaD:11 | -| test_logging.rs:175:48:175:73 | MacroExpr | test_logging.rs:175:48:175:73 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:175:48:175:73 | { ... } | test_logging.rs:175:48:175:73 | ...::must_use(...) | provenance | MaD:14 | -| test_logging.rs:175:66:175:73 | password | test_logging.rs:175:48:175:73 | MacroExpr | provenance | | -| test_logging.rs:178:15:178:49 | res | test_logging.rs:178:23:178:48 | { ... } | provenance | | -| test_logging.rs:178:15:178:60 | ... .as_bytes() | test_logging.rs:178:9:178:13 | write | provenance | MaD:5 Sink:MaD:5 | -| test_logging.rs:178:23:178:48 | ...::format(...) | test_logging.rs:178:15:178:49 | res | provenance | | -| test_logging.rs:178:23:178:48 | ...::must_use(...) | test_logging.rs:178:15:178:60 | ... .as_bytes() | provenance | MaD:11 | -| test_logging.rs:178:23:178:48 | MacroExpr | test_logging.rs:178:23:178:48 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:178:23:178:48 | { ... } | test_logging.rs:178:23:178:48 | ...::must_use(...) | provenance | MaD:14 | -| test_logging.rs:178:41:178:48 | password | test_logging.rs:178:23:178:48 | MacroExpr | provenance | | -| test_logging.rs:181:15:181:49 | res | test_logging.rs:181:23:181:48 | { ... } | provenance | | -| test_logging.rs:181:15:181:60 | ... .as_bytes() | test_logging.rs:181:9:181:13 | write | provenance | MaD:4 Sink:MaD:4 | -| test_logging.rs:181:23:181:48 | ...::format(...) | test_logging.rs:181:15:181:49 | res | provenance | | -| test_logging.rs:181:23:181:48 | ...::must_use(...) | test_logging.rs:181:15:181:60 | ... .as_bytes() | provenance | MaD:11 | -| test_logging.rs:181:23:181:48 | MacroExpr | test_logging.rs:181:23:181:48 | ...::format(...) | provenance | MaD:13 | -| test_logging.rs:181:23:181:48 | { ... } | test_logging.rs:181:23:181:48 | ...::must_use(...) | provenance | MaD:14 | -| test_logging.rs:181:41:181:48 | password | test_logging.rs:181:23:181:48 | MacroExpr | provenance | | models -| 1 | Sink: lang:core; ::expect; log-injection; Argument[0] | -| 2 | Sink: lang:core; crate::panicking::assert_failed; log-injection; Argument[3].Field[crate::option::Option::Some(0)] | -| 3 | Sink: lang:core; crate::panicking::panic_fmt; log-injection; Argument[0] | -| 4 | Sink: lang:std; ::write; log-injection; Argument[0] | -| 5 | Sink: lang:std; ::write; log-injection; Argument[0] | -| 6 | Sink: lang:std; ::write_all; log-injection; Argument[0] | -| 7 | Sink: lang:std; crate::io::stdio::_eprint; log-injection; Argument[0] | -| 8 | Sink: lang:std; crate::io::stdio::_print; log-injection; Argument[0] | -| 9 | Sink: repo:https://github.com/rust-lang/log:log; crate::__private_api::log; log-injection; Argument[1] | -| 10 | Sink: repo:https://github.com/rust-lang/log:log; crate::__private_api::log; log-injection; Argument[3] | -| 11 | Summary: lang:alloc; ::as_bytes; Argument[self]; ReturnValue; value | -| 12 | Summary: lang:alloc; ::as_str; Argument[self]; ReturnValue; value | -| 13 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint | -| 14 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value | +| 1 | Sink: lang:core; crate::panicking::assert_failed; log-injection; Argument[3].Field[crate::option::Option::Some(0)] | +| 2 | Sink: lang:core; crate::panicking::panic_fmt; log-injection; Argument[0] | +| 3 | Sink: lang:std; crate::io::stdio::_eprint; log-injection; Argument[0] | +| 4 | Sink: lang:std; crate::io::stdio::_print; log-injection; Argument[0] | +| 5 | Sink: repo:https://github.com/rust-lang/log:log; crate::__private_api::log; log-injection; Argument[1] | +| 6 | Sink: repo:https://github.com/rust-lang/log:log; crate::__private_api::log; log-injection; Argument[3] | +| 7 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint | +| 8 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value | nodes | test_logging.rs:42:5:42:36 | ...::log | semmle.label | ...::log | | test_logging.rs:42:12:42:35 | MacroExpr | semmle.label | MacroExpr | @@ -398,44 +352,10 @@ nodes | test_logging.rs:167:40:167:63 | ...::Some(...) [Some] | semmle.label | ...::Some(...) [Some] | | test_logging.rs:167:40:167:63 | MacroExpr | semmle.label | MacroExpr | | test_logging.rs:167:56:167:63 | password | semmle.label | password | -| test_logging.rs:168:27:168:32 | expect | semmle.label | expect | -| test_logging.rs:168:34:168:66 | res | semmle.label | res | -| test_logging.rs:168:34:168:75 | ... .as_str() | semmle.label | ... .as_str() | -| test_logging.rs:168:42:168:65 | ...::format(...) | semmle.label | ...::format(...) | -| test_logging.rs:168:42:168:65 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| test_logging.rs:168:42:168:65 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:168:42:168:65 | { ... } | semmle.label | { ... } | -| test_logging.rs:168:58:168:65 | password | semmle.label | password | -| test_logging.rs:174:30:174:34 | write | semmle.label | write | -| test_logging.rs:174:36:174:70 | res | semmle.label | res | -| test_logging.rs:174:36:174:81 | ... .as_bytes() | semmle.label | ... .as_bytes() | -| test_logging.rs:174:44:174:69 | ...::format(...) | semmle.label | ...::format(...) | -| test_logging.rs:174:44:174:69 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| test_logging.rs:174:44:174:69 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:174:44:174:69 | { ... } | semmle.label | { ... } | -| test_logging.rs:174:62:174:69 | password | semmle.label | password | -| test_logging.rs:175:30:175:38 | write_all | semmle.label | write_all | -| test_logging.rs:175:40:175:74 | res | semmle.label | res | -| test_logging.rs:175:40:175:85 | ... .as_bytes() | semmle.label | ... .as_bytes() | -| test_logging.rs:175:48:175:73 | ...::format(...) | semmle.label | ...::format(...) | -| test_logging.rs:175:48:175:73 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| test_logging.rs:175:48:175:73 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:175:48:175:73 | { ... } | semmle.label | { ... } | -| test_logging.rs:175:66:175:73 | password | semmle.label | password | -| test_logging.rs:178:9:178:13 | write | semmle.label | write | -| test_logging.rs:178:15:178:49 | res | semmle.label | res | -| test_logging.rs:178:15:178:60 | ... .as_bytes() | semmle.label | ... .as_bytes() | -| test_logging.rs:178:23:178:48 | ...::format(...) | semmle.label | ...::format(...) | -| test_logging.rs:178:23:178:48 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| test_logging.rs:178:23:178:48 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:178:23:178:48 | { ... } | semmle.label | { ... } | -| test_logging.rs:178:41:178:48 | password | semmle.label | password | -| test_logging.rs:181:9:181:13 | write | semmle.label | write | -| test_logging.rs:181:15:181:49 | res | semmle.label | res | -| test_logging.rs:181:15:181:60 | ... .as_bytes() | semmle.label | ... .as_bytes() | -| test_logging.rs:181:23:181:48 | ...::format(...) | semmle.label | ...::format(...) | -| test_logging.rs:181:23:181:48 | ...::must_use(...) | semmle.label | ...::must_use(...) | -| test_logging.rs:181:23:181:48 | MacroExpr | semmle.label | MacroExpr | -| test_logging.rs:181:23:181:48 | { ... } | semmle.label | { ... } | -| test_logging.rs:181:41:181:48 | password | semmle.label | password | subpaths +testFailures +| test_logging.rs:168:81:168:114 | //... | Missing result: Alert[rust/cleartext-logging] | +| test_logging.rs:174:85:174:118 | //... | Missing result: Alert[rust/cleartext-logging] | +| test_logging.rs:175:89:175:122 | //... | Missing result: Alert[rust/cleartext-logging] | +| test_logging.rs:178:64:178:97 | //... | Missing result: Alert[rust/cleartext-logging] | +| test_logging.rs:181:64:181:97 | //... | Missing result: Alert[rust/cleartext-logging] | diff --git a/rust/ql/test/query-tests/security/CWE-328/WeakSensitiveDataHashing.expected b/rust/ql/test/query-tests/security/CWE-328/WeakSensitiveDataHashing.expected index d2ea36bbebf8..f91a1b65c58b 100644 --- a/rust/ql/test/query-tests/security/CWE-328/WeakSensitiveDataHashing.expected +++ b/rust/ql/test/query-tests/security/CWE-328/WeakSensitiveDataHashing.expected @@ -12,8 +12,6 @@ | test.rs:62:9:62:24 | ...::digest | test.rs:62:26:62:37 | password_arr | test.rs:62:9:62:24 | ...::digest | $@ is used in a hashing algorithm (MD5) that is insecure for password hashing, since it is not a computationally expensive hash function. | test.rs:62:26:62:37 | password_arr | Sensitive data (password) | | test.rs:64:9:64:24 | ...::digest | test.rs:64:26:64:37 | password_vec | test.rs:64:9:64:24 | ...::digest | $@ is used in a hashing algorithm (MD5) that is insecure for password hashing, since it is not a computationally expensive hash function. | test.rs:64:26:64:37 | password_vec | Sensitive data (password) | | test.rs:77:9:77:33 | ...::new_with_prefix | test.rs:77:35:77:42 | password | test.rs:77:9:77:33 | ...::new_with_prefix | $@ is used in a hashing algorithm (MD5) that is insecure for password hashing, since it is not a computationally expensive hash function. | test.rs:77:35:77:42 | password | Sensitive data (password) | -| test.rs:81:9:81:24 | ...::digest | test.rs:81:26:81:33 | password | test.rs:81:9:81:24 | ...::digest | $@ is used in a hashing algorithm (MD5) that is insecure for password hashing, since it is not a computationally expensive hash function. | test.rs:81:26:81:33 | password | Sensitive data (password) | -| test.rs:83:9:83:24 | ...::digest | test.rs:83:26:83:33 | password | test.rs:83:9:83:24 | ...::digest | $@ is used in a hashing algorithm (MD5) that is insecure for password hashing, since it is not a computationally expensive hash function. | test.rs:83:26:83:33 | password | Sensitive data (password) | edges | test.rs:14:26:14:39 | credit_card_no | test.rs:14:9:14:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | | test.rs:15:26:15:33 | password | test.rs:15:9:15:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | @@ -28,16 +26,10 @@ edges | test.rs:62:26:62:37 | password_arr | test.rs:62:9:62:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | | test.rs:64:26:64:37 | password_vec | test.rs:64:9:64:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | | test.rs:77:35:77:42 | password | test.rs:77:9:77:33 | ...::new_with_prefix | provenance | MaD:2 Sink:MaD:2 | -| test.rs:81:26:81:33 | password | test.rs:81:26:81:40 | password.trim() [&ref] | provenance | MaD:5 | -| test.rs:81:26:81:40 | password.trim() [&ref] | test.rs:81:9:81:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | -| test.rs:83:26:83:33 | password | test.rs:83:26:83:44 | password.as_bytes() | provenance | MaD:4 | -| test.rs:83:26:83:44 | password.as_bytes() | test.rs:83:9:83:24 | ...::digest | provenance | MaD:1 Sink:MaD:1 | models | 1 | Sink: repo:https://github.com/RustCrypto/traits:digest; <_ as crate::digest::Digest>::digest; hasher-input; Argument[0] | | 2 | Sink: repo:https://github.com/RustCrypto/traits:digest; <_ as crate::digest::Digest>::new_with_prefix; hasher-input; Argument[0] | | 3 | Sink: repo:https://github.com/stainless-steel/md5:md5; crate::compute; hasher-input; Argument[0] | -| 4 | Summary: lang:core; ::as_bytes; Argument[self]; ReturnValue; taint | -| 5 | Summary: lang:core; ::trim; Argument[self]; ReturnValue.Reference; taint | nodes | test.rs:14:9:14:24 | ...::digest | semmle.label | ...::digest | | test.rs:14:26:14:39 | credit_card_no | semmle.label | credit_card_no | @@ -65,10 +57,7 @@ nodes | test.rs:64:26:64:37 | password_vec | semmle.label | password_vec | | test.rs:77:9:77:33 | ...::new_with_prefix | semmle.label | ...::new_with_prefix | | test.rs:77:35:77:42 | password | semmle.label | password | -| test.rs:81:9:81:24 | ...::digest | semmle.label | ...::digest | -| test.rs:81:26:81:33 | password | semmle.label | password | -| test.rs:81:26:81:40 | password.trim() [&ref] | semmle.label | password.trim() [&ref] | -| test.rs:83:9:83:24 | ...::digest | semmle.label | ...::digest | -| test.rs:83:26:83:33 | password | semmle.label | password | -| test.rs:83:26:83:44 | password.as_bytes() | semmle.label | password.as_bytes() | subpaths +testFailures +| test.rs:81:44:81:87 | //... | Missing result: Alert[rust/weak-sensitive-data-hashing] | +| test.rs:83:48:83:91 | //... | Missing result: Alert[rust/weak-sensitive-data-hashing] | diff --git a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected index 0e9acca98d73..cf812287e054 100644 --- a/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected +++ b/rust/ql/test/query-tests/security/CWE-770/UncontrolledAllocationSize.expected @@ -1,503 +1,53 @@ #select -| main.rs:18:13:18:31 | ...::realloc | main.rs:317:13:317:26 | ...::args | main.rs:18:13:18:31 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:21:13:21:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:21:13:21:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:22:13:22:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:22:13:22:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:23:13:23:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:23:13:23:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:24:13:24:36 | ...::alloc_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:24:13:24:36 | ...::alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:30:13:30:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:30:13:30:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:33:13:33:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:33:13:33:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:37:13:37:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:37:13:37:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:40:13:40:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:40:13:40:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:50:13:50:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:50:13:50:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:51:13:51:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:51:13:51:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:53:13:53:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:53:13:53:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:54:13:54:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:54:13:54:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:59:13:59:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:59:13:59:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:61:13:61:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:61:13:61:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:63:13:63:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:63:13:63:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:64:13:64:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:64:13:64:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:65:13:65:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:65:13:65:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:68:13:68:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:68:13:68:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:88:13:88:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:88:13:88:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:96:17:96:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:96:17:96:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:102:17:102:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:102:17:102:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:103:17:103:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:103:17:103:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:109:17:109:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:109:17:109:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:111:17:111:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:111:17:111:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:146:17:146:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:146:17:146:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:148:17:148:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:148:17:148:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:152:13:152:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:152:13:152:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:155:13:155:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:155:13:155:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:162:17:162:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:162:17:162:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:169:17:169:33 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:169:17:169:33 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:177:13:177:29 | ...::alloc | main.rs:317:13:317:26 | ...::args | main.rs:177:13:177:29 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:193:32:193:36 | alloc | main.rs:317:13:317:26 | ...::args | main.rs:193:32:193:36 | alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:194:32:194:43 | alloc_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:194:32:194:43 | alloc_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:195:32:195:39 | allocate | main.rs:317:13:317:26 | ...::args | main.rs:195:32:195:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:196:32:196:46 | allocate_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:196:32:196:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:197:32:197:39 | allocate | main.rs:317:13:317:26 | ...::args | main.rs:197:32:197:39 | allocate | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:198:32:198:46 | allocate_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:198:32:198:46 | allocate_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:208:40:208:43 | grow | main.rs:317:13:317:26 | ...::args | main.rs:208:40:208:43 | grow | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:210:40:210:50 | grow_zeroed | main.rs:317:13:317:26 | ...::args | main.rs:210:40:210:50 | grow_zeroed | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:219:13:219:24 | ...::malloc | main.rs:317:13:317:26 | ...::args | main.rs:219:13:219:24 | ...::malloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:220:13:220:31 | ...::aligned_alloc | main.rs:317:13:317:26 | ...::args | main.rs:220:13:220:31 | ...::aligned_alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:222:13:222:24 | ...::calloc | main.rs:317:13:317:26 | ...::args | main.rs:222:13:222:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:223:13:223:24 | ...::calloc | main.rs:317:13:317:26 | ...::args | main.rs:223:13:223:24 | ...::calloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:224:13:224:25 | ...::realloc | main.rs:317:13:317:26 | ...::args | main.rs:224:13:224:25 | ...::realloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:317:13:317:26 | ...::args | user-provided value | -| main.rs:284:22:284:38 | ...::alloc | main.rs:308:25:308:38 | ...::args | main.rs:284:22:284:38 | ...::alloc | This allocation size is derived from a $@ and could allocate arbitrary amounts of memory. | main.rs:308:25:308:38 | ...::args | user-provided value | edges -| main.rs:12:36:12:43 | ...: usize | main.rs:18:41:18:41 | v | provenance | | -| main.rs:18:41:18:41 | v | main.rs:18:13:18:31 | ...::realloc | provenance | MaD:5 Sink:MaD:5 | -| main.rs:18:41:18:41 | v | main.rs:20:50:20:50 | v | provenance | | -| main.rs:18:41:18:41 | v | main.rs:29:60:29:60 | v | provenance | | -| main.rs:18:41:18:41 | v | main.rs:32:60:32:89 | ... * ... | provenance | | -| main.rs:18:41:18:41 | v | main.rs:35:9:35:10 | s6 | provenance | | -| main.rs:20:9:20:10 | l2 | main.rs:21:31:21:32 | l2 | provenance | | -| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | main.rs:20:14:20:63 | ... .unwrap() | provenance | MaD:31 | -| main.rs:20:14:20:63 | ... .unwrap() | main.rs:20:9:20:10 | l2 | provenance | | -| main.rs:20:50:20:50 | v | main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | provenance | MaD:23 | -| main.rs:21:31:21:32 | l2 | main.rs:21:13:21:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:21:31:21:32 | l2 | main.rs:22:31:22:44 | l2.align_to(...) [Ok] | provenance | MaD:17 | -| main.rs:21:31:21:32 | l2 | main.rs:23:31:23:44 | l2.align_to(...) [Ok] | provenance | MaD:17 | -| main.rs:21:31:21:32 | l2 | main.rs:24:38:24:39 | l2 | provenance | | -| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | main.rs:22:31:22:53 | ... .unwrap() | provenance | MaD:31 | -| main.rs:22:31:22:53 | ... .unwrap() | main.rs:22:13:22:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | main.rs:23:31:23:53 | ... .unwrap() | provenance | MaD:31 | -| main.rs:23:31:23:53 | ... .unwrap() | main.rs:23:31:23:68 | ... .pad_to_align() | provenance | MaD:25 | -| main.rs:23:31:23:68 | ... .pad_to_align() | main.rs:23:13:23:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:24:38:24:39 | l2 | main.rs:24:13:24:36 | ...::alloc_zeroed | provenance | MaD:4 Sink:MaD:4 | -| main.rs:29:9:29:10 | l4 | main.rs:30:31:30:32 | l4 | provenance | | -| main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | main.rs:29:9:29:10 | l4 | provenance | | -| main.rs:29:60:29:60 | v | main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | provenance | MaD:24 | -| main.rs:30:31:30:32 | l4 | main.rs:30:13:30:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:32:9:32:10 | l5 | main.rs:33:31:33:32 | l5 | provenance | | -| main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | main.rs:32:9:32:10 | l5 | provenance | | -| main.rs:32:60:32:89 | ... * ... | main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | provenance | MaD:24 | -| main.rs:33:31:33:32 | l5 | main.rs:33:13:33:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:35:9:35:10 | s6 | main.rs:36:60:36:61 | s6 | provenance | | -| main.rs:36:9:36:10 | l6 | main.rs:37:31:37:32 | l6 | provenance | | -| main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | main.rs:36:9:36:10 | l6 | provenance | | -| main.rs:36:60:36:61 | s6 | main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | provenance | MaD:24 | -| main.rs:37:31:37:32 | l6 | main.rs:37:13:37:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:37:31:37:32 | l6 | main.rs:39:60:39:68 | l6.size() | provenance | MaD:28 | -| main.rs:39:9:39:10 | l7 | main.rs:40:31:40:32 | l7 | provenance | | -| main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | main.rs:39:9:39:10 | l7 | provenance | | -| main.rs:39:60:39:68 | l6.size() | main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | provenance | MaD:24 | -| main.rs:40:31:40:32 | l7 | main.rs:40:13:40:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:43:44:43:51 | ...: usize | main.rs:50:41:50:41 | v | provenance | | -| main.rs:43:44:43:51 | ...: usize | main.rs:51:41:51:45 | ... + ... | provenance | | -| main.rs:43:44:43:51 | ...: usize | main.rs:53:48:53:48 | v | provenance | | -| main.rs:43:44:43:51 | ...: usize | main.rs:54:48:54:53 | ... * ... | provenance | | -| main.rs:43:44:43:51 | ...: usize | main.rs:58:34:58:34 | v | provenance | | -| main.rs:43:44:43:51 | ...: usize | main.rs:67:46:67:46 | v | provenance | | -| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | provenance | MaD:31 | -| main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | main.rs:50:31:50:53 | ... .0 | provenance | | -| main.rs:50:31:50:53 | ... .0 | main.rs:50:13:50:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:50:41:50:41 | v | main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:26 | -| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | provenance | MaD:31 | -| main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | main.rs:51:31:51:57 | ... .0 | provenance | | -| main.rs:51:31:51:57 | ... .0 | main.rs:51:13:51:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:51:41:51:45 | ... + ... | main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | provenance | MaD:26 | -| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | main.rs:53:31:53:58 | ... .unwrap() | provenance | MaD:31 | -| main.rs:53:31:53:58 | ... .unwrap() | main.rs:53:13:53:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:53:48:53:48 | v | main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | provenance | MaD:27 | -| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | main.rs:54:31:54:63 | ... .unwrap() | provenance | MaD:31 | -| main.rs:54:31:54:63 | ... .unwrap() | main.rs:54:13:54:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:54:48:54:53 | ... * ... | main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | provenance | MaD:27 | -| main.rs:58:9:58:20 | TuplePat [tuple.0] | main.rs:58:10:58:11 | k1 | provenance | | -| main.rs:58:10:58:11 | k1 | main.rs:59:31:59:32 | k1 | provenance | | -| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | provenance | MaD:30 | -| main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | main.rs:58:9:58:20 | TuplePat [tuple.0] | provenance | | -| main.rs:58:34:58:34 | v | main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | provenance | MaD:26 | -| main.rs:59:31:59:32 | k1 | main.rs:59:13:59:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:59:31:59:32 | k1 | main.rs:60:34:60:35 | k1 | provenance | | -| main.rs:59:31:59:32 | k1 | main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | provenance | MaD:20 | -| main.rs:59:31:59:32 | k1 | main.rs:64:48:64:49 | k1 | provenance | | -| main.rs:59:31:59:32 | k1 | main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | provenance | MaD:22 | -| main.rs:60:9:60:20 | TuplePat [tuple.0] | main.rs:60:10:60:11 | k2 | provenance | | -| main.rs:60:10:60:11 | k2 | main.rs:61:31:61:32 | k2 | provenance | | -| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | provenance | MaD:31 | -| main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | main.rs:60:9:60:20 | TuplePat [tuple.0] | provenance | | -| main.rs:60:34:60:35 | k1 | main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | provenance | MaD:19 | -| main.rs:61:31:61:32 | k2 | main.rs:61:13:61:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:62:9:62:20 | TuplePat [tuple.0] | main.rs:62:10:62:11 | k3 | provenance | | -| main.rs:62:10:62:11 | k3 | main.rs:63:31:63:32 | k3 | provenance | | -| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | provenance | MaD:31 | -| main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | main.rs:62:9:62:20 | TuplePat [tuple.0] | provenance | | -| main.rs:63:31:63:32 | k3 | main.rs:63:13:63:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | main.rs:64:31:64:59 | ... .unwrap() | provenance | MaD:31 | -| main.rs:64:31:64:59 | ... .unwrap() | main.rs:64:13:64:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:64:48:64:49 | k1 | main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | provenance | MaD:21 | -| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | main.rs:65:31:65:59 | ... .unwrap() | provenance | MaD:31 | -| main.rs:65:31:65:59 | ... .unwrap() | main.rs:65:13:65:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:67:9:67:10 | l4 | main.rs:68:31:68:32 | l4 | provenance | | -| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | main.rs:67:14:67:56 | ... .unwrap() | provenance | MaD:31 | -| main.rs:67:14:67:56 | ... .unwrap() | main.rs:67:9:67:10 | l4 | provenance | | -| main.rs:67:46:67:46 | v | main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:68:31:68:32 | l4 | main.rs:68:13:68:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:86:35:86:42 | ...: usize | main.rs:87:54:87:54 | v | provenance | | -| main.rs:87:9:87:14 | layout | main.rs:88:31:88:36 | layout | provenance | | -| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | main.rs:87:18:87:67 | ... .unwrap() | provenance | MaD:31 | -| main.rs:87:18:87:67 | ... .unwrap() | main.rs:87:9:87:14 | layout | provenance | | -| main.rs:87:54:87:54 | v | main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | provenance | MaD:23 | -| main.rs:88:31:88:36 | layout | main.rs:88:13:88:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:91:38:91:45 | ...: usize | main.rs:92:47:92:47 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:101:51:101:51 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:105:33:105:33 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:145:51:145:51 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:151:62:151:62 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:154:62:154:62 | v | provenance | | -| main.rs:91:38:91:45 | ...: usize | main.rs:161:55:161:55 | v | provenance | | -| main.rs:92:9:92:10 | l1 | main.rs:96:35:96:36 | l1 | provenance | | -| main.rs:92:9:92:10 | l1 | main.rs:102:35:102:36 | l1 | provenance | | -| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | main.rs:92:14:92:57 | ... .unwrap() | provenance | MaD:31 | -| main.rs:92:14:92:57 | ... .unwrap() | main.rs:92:9:92:10 | l1 | provenance | | -| main.rs:92:47:92:47 | v | main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:96:35:96:36 | l1 | main.rs:96:17:96:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:96:35:96:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | -| main.rs:96:35:96:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | -| main.rs:101:13:101:14 | l3 | main.rs:103:35:103:36 | l3 | provenance | | -| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | main.rs:101:18:101:61 | ... .unwrap() | provenance | MaD:31 | -| main.rs:101:18:101:61 | ... .unwrap() | main.rs:101:13:101:14 | l3 | provenance | | -| main.rs:101:51:101:51 | v | main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:102:35:102:36 | l1 | main.rs:102:17:102:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:102:35:102:36 | l1 | main.rs:109:35:109:36 | l1 | provenance | | -| main.rs:102:35:102:36 | l1 | main.rs:111:35:111:36 | l1 | provenance | | -| main.rs:103:35:103:36 | l3 | main.rs:103:17:103:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:105:33:105:33 | v | main.rs:86:35:86:42 | ...: usize | provenance | | -| main.rs:109:35:109:36 | l1 | main.rs:109:17:109:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:109:35:109:36 | l1 | main.rs:146:35:146:36 | l1 | provenance | | -| main.rs:111:35:111:36 | l1 | main.rs:111:17:111:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:111:35:111:36 | l1 | main.rs:146:35:146:36 | l1 | provenance | | -| main.rs:145:13:145:14 | l9 | main.rs:148:35:148:36 | l9 | provenance | | -| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | main.rs:145:18:145:61 | ... .unwrap() | provenance | MaD:31 | -| main.rs:145:18:145:61 | ... .unwrap() | main.rs:145:13:145:14 | l9 | provenance | | -| main.rs:145:51:145:51 | v | main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:146:35:146:36 | l1 | main.rs:146:17:146:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:146:35:146:36 | l1 | main.rs:177:31:177:32 | l1 | provenance | | -| main.rs:148:35:148:36 | l9 | main.rs:148:17:148:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:151:9:151:11 | l10 | main.rs:152:31:152:33 | l10 | provenance | | -| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | main.rs:151:15:151:78 | ... .unwrap() | provenance | MaD:31 | -| main.rs:151:15:151:78 | ... .unwrap() | main.rs:151:9:151:11 | l10 | provenance | | -| main.rs:151:48:151:68 | ...::min(...) | main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:151:62:151:62 | v | main.rs:151:48:151:68 | ...::min(...) | provenance | MaD:34 | -| main.rs:152:31:152:33 | l10 | main.rs:152:13:152:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:154:9:154:11 | l11 | main.rs:155:31:155:33 | l11 | provenance | | -| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | main.rs:154:15:154:78 | ... .unwrap() | provenance | MaD:31 | -| main.rs:154:15:154:78 | ... .unwrap() | main.rs:154:9:154:11 | l11 | provenance | | -| main.rs:154:48:154:68 | ...::max(...) | main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:154:62:154:62 | v | main.rs:154:48:154:68 | ...::max(...) | provenance | MaD:33 | -| main.rs:155:31:155:33 | l11 | main.rs:155:13:155:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:161:13:161:15 | l13 | main.rs:162:35:162:37 | l13 | provenance | | -| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | main.rs:161:19:161:68 | ... .unwrap() | provenance | MaD:31 | -| main.rs:161:19:161:68 | ... .unwrap() | main.rs:161:13:161:15 | l13 | provenance | | -| main.rs:161:55:161:55 | v | main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | provenance | MaD:23 | -| main.rs:162:35:162:37 | l13 | main.rs:162:17:162:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:162:35:162:37 | l13 | main.rs:169:35:169:37 | l13 | provenance | | -| main.rs:169:35:169:37 | l13 | main.rs:169:17:169:33 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:177:31:177:32 | l1 | main.rs:177:13:177:29 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:183:29:183:36 | ...: usize | main.rs:192:46:192:46 | v | provenance | | -| main.rs:192:9:192:10 | l2 | main.rs:193:38:193:39 | l2 | provenance | | -| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | main.rs:192:14:192:56 | ... .unwrap() | provenance | MaD:31 | -| main.rs:192:14:192:56 | ... .unwrap() | main.rs:192:9:192:10 | l2 | provenance | | -| main.rs:192:46:192:46 | v | main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | provenance | MaD:18 | -| main.rs:193:38:193:39 | l2 | main.rs:193:32:193:36 | alloc | provenance | MaD:10 Sink:MaD:10 | -| main.rs:193:38:193:39 | l2 | main.rs:194:45:194:46 | l2 | provenance | | -| main.rs:194:45:194:46 | l2 | main.rs:194:32:194:43 | alloc_zeroed | provenance | MaD:11 Sink:MaD:11 | -| main.rs:194:45:194:46 | l2 | main.rs:195:41:195:42 | l2 | provenance | | -| main.rs:195:41:195:42 | l2 | main.rs:195:32:195:39 | allocate | provenance | MaD:6 Sink:MaD:6 | -| main.rs:195:41:195:42 | l2 | main.rs:196:48:196:49 | l2 | provenance | | -| main.rs:196:48:196:49 | l2 | main.rs:196:32:196:46 | allocate_zeroed | provenance | MaD:7 Sink:MaD:7 | -| main.rs:196:48:196:49 | l2 | main.rs:197:41:197:42 | l2 | provenance | | -| main.rs:197:41:197:42 | l2 | main.rs:197:32:197:39 | allocate | provenance | MaD:1 Sink:MaD:1 | -| main.rs:197:41:197:42 | l2 | main.rs:198:48:198:49 | l2 | provenance | | -| main.rs:198:48:198:49 | l2 | main.rs:198:32:198:46 | allocate_zeroed | provenance | MaD:2 Sink:MaD:2 | -| main.rs:198:48:198:49 | l2 | main.rs:208:53:208:54 | l2 | provenance | | -| main.rs:198:48:198:49 | l2 | main.rs:210:60:210:61 | l2 | provenance | | -| main.rs:208:53:208:54 | l2 | main.rs:208:40:208:43 | grow | provenance | MaD:8 Sink:MaD:8 | -| main.rs:210:60:210:61 | l2 | main.rs:210:40:210:50 | grow_zeroed | provenance | MaD:9 Sink:MaD:9 | -| main.rs:217:27:217:34 | ...: usize | main.rs:219:26:219:26 | v | provenance | | -| main.rs:219:26:219:26 | v | main.rs:219:13:219:24 | ...::malloc | provenance | MaD:14 Sink:MaD:14 | -| main.rs:219:26:219:26 | v | main.rs:220:36:220:36 | v | provenance | | -| main.rs:220:36:220:36 | v | main.rs:220:13:220:31 | ...::aligned_alloc | provenance | MaD:12 Sink:MaD:12 | -| main.rs:220:36:220:36 | v | main.rs:222:30:222:30 | v | provenance | | -| main.rs:222:30:222:30 | v | main.rs:222:13:222:24 | ...::calloc | provenance | MaD:13 Sink:MaD:13 | -| main.rs:222:30:222:30 | v | main.rs:223:26:223:26 | v | provenance | | -| main.rs:223:26:223:26 | v | main.rs:223:13:223:24 | ...::calloc | provenance | MaD:13 Sink:MaD:13 | -| main.rs:223:26:223:26 | v | main.rs:224:31:224:31 | v | provenance | | -| main.rs:224:31:224:31 | v | main.rs:224:13:224:25 | ...::realloc | provenance | MaD:15 Sink:MaD:15 | -| main.rs:279:24:279:41 | ...: String | main.rs:280:21:280:47 | user_input.parse() [Ok] | provenance | MaD:32 | -| main.rs:280:9:280:17 | num_bytes | main.rs:282:54:282:62 | num_bytes | provenance | | -| main.rs:280:21:280:47 | user_input.parse() [Ok] | main.rs:280:21:280:48 | TryExpr | provenance | | -| main.rs:280:21:280:48 | TryExpr | main.rs:280:9:280:17 | num_bytes | provenance | | -| main.rs:282:9:282:14 | layout | main.rs:284:40:284:45 | layout | provenance | | -| main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | main.rs:282:18:282:75 | ... .unwrap() | provenance | MaD:31 | -| main.rs:282:18:282:75 | ... .unwrap() | main.rs:282:9:282:14 | layout | provenance | | -| main.rs:282:54:282:62 | num_bytes | main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | provenance | MaD:23 | -| main.rs:284:40:284:45 | layout | main.rs:284:22:284:38 | ...::alloc | provenance | MaD:3 Sink:MaD:3 | -| main.rs:308:25:308:38 | ...::args | main.rs:308:25:308:40 | ...::args(...) [element] | provenance | Src:MaD:16 | -| main.rs:308:25:308:40 | ...::args(...) [element] | main.rs:308:25:308:47 | ... .nth(...) [Some] | provenance | MaD:35 | -| main.rs:308:25:308:47 | ... .nth(...) [Some] | main.rs:308:25:308:74 | ... .unwrap_or(...) | provenance | MaD:29 | -| main.rs:308:25:308:74 | ... .unwrap_or(...) | main.rs:279:24:279:41 | ...: String | provenance | | -| main.rs:317:9:317:9 | v | main.rs:320:34:320:34 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:321:42:321:42 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:322:36:322:36 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:323:27:323:27 | v | provenance | | -| main.rs:317:9:317:9 | v | main.rs:324:25:324:25 | v | provenance | | -| main.rs:317:13:317:26 | ...::args | main.rs:317:13:317:28 | ...::args(...) [element] | provenance | Src:MaD:16 | -| main.rs:317:13:317:28 | ...::args(...) [element] | main.rs:317:13:317:35 | ... .nth(...) [Some] | provenance | MaD:35 | -| main.rs:317:13:317:35 | ... .nth(...) [Some] | main.rs:317:13:317:65 | ... .unwrap_or(...) | provenance | MaD:29 | -| main.rs:317:13:317:65 | ... .unwrap_or(...) | main.rs:317:13:317:82 | ... .parse() [Ok] | provenance | MaD:32 | -| main.rs:317:13:317:82 | ... .parse() [Ok] | main.rs:317:13:317:91 | ... .unwrap() | provenance | MaD:31 | -| main.rs:317:13:317:91 | ... .unwrap() | main.rs:317:9:317:9 | v | provenance | | -| main.rs:320:34:320:34 | v | main.rs:12:36:12:43 | ...: usize | provenance | | -| main.rs:321:42:321:42 | v | main.rs:43:44:43:51 | ...: usize | provenance | | -| main.rs:322:36:322:36 | v | main.rs:91:38:91:45 | ...: usize | provenance | | -| main.rs:323:27:323:27 | v | main.rs:183:29:183:36 | ...: usize | provenance | | -| main.rs:324:25:324:25 | v | main.rs:217:27:217:34 | ...: usize | provenance | | -models -| 1 | Sink: lang:alloc; ::allocate; alloc-layout; Argument[0] | -| 2 | Sink: lang:alloc; ::allocate_zeroed; alloc-layout; Argument[0] | -| 3 | Sink: lang:alloc; crate::alloc::alloc; alloc-layout; Argument[0] | -| 4 | Sink: lang:alloc; crate::alloc::alloc_zeroed; alloc-layout; Argument[0] | -| 5 | Sink: lang:alloc; crate::alloc::realloc; alloc-size; Argument[2] | -| 6 | Sink: lang:std; ::allocate; alloc-layout; Argument[0] | -| 7 | Sink: lang:std; ::allocate_zeroed; alloc-layout; Argument[0] | -| 8 | Sink: lang:std; ::grow; alloc-layout; Argument[2] | -| 9 | Sink: lang:std; ::grow_zeroed; alloc-layout; Argument[2] | -| 10 | Sink: lang:std; ::alloc; alloc-layout; Argument[0] | -| 11 | Sink: lang:std; ::alloc_zeroed; alloc-layout; Argument[0] | -| 12 | Sink: repo:https://github.com/rust-lang/libc:libc; ::aligned_alloc; alloc-size; Argument[1] | -| 13 | Sink: repo:https://github.com/rust-lang/libc:libc; ::calloc; alloc-size; Argument[0,1] | -| 14 | Sink: repo:https://github.com/rust-lang/libc:libc; ::malloc; alloc-size; Argument[0] | -| 15 | Sink: repo:https://github.com/rust-lang/libc:libc; ::realloc; alloc-size; Argument[1] | -| 16 | Source: lang:std; crate::env::args; commandargs; ReturnValue.Element | -| 17 | Summary: lang:core; ::align_to; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 18 | Summary: lang:core; ::array; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 19 | Summary: lang:core; ::extend; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)].Field[0]; taint | -| 20 | Summary: lang:core; ::extend; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)].Field[0]; taint | -| 21 | Summary: lang:core; ::extend_packed; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 22 | Summary: lang:core; ::extend_packed; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 23 | Summary: lang:core; ::from_size_align; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 24 | Summary: lang:core; ::from_size_align_unchecked; Argument[0]; ReturnValue; taint | -| 25 | Summary: lang:core; ::pad_to_align; Argument[self]; ReturnValue; taint | -| 26 | Summary: lang:core; ::repeat; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)].Field[0]; taint | -| 27 | Summary: lang:core; ::repeat_packed; Argument[0]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 28 | Summary: lang:core; ::size; Argument[self]; ReturnValue; taint | -| 29 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 30 | Summary: lang:core; ::expect; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 31 | Summary: lang:core; ::unwrap; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 32 | Summary: lang:core; ::parse; Argument[self]; ReturnValue.Field[crate::result::Result::Ok(0)]; taint | -| 33 | Summary: lang:core; crate::cmp::max; Argument[0]; ReturnValue; value | -| 34 | Summary: lang:core; crate::cmp::min; Argument[0]; ReturnValue; value | -| 35 | Summary: lang:core; crate::iter::traits::iterator::Iterator::nth; Argument[self].Element; ReturnValue.Field[crate::option::Option::Some(0)]; value | nodes -| main.rs:12:36:12:43 | ...: usize | semmle.label | ...: usize | -| main.rs:18:13:18:31 | ...::realloc | semmle.label | ...::realloc | -| main.rs:18:41:18:41 | v | semmle.label | v | -| main.rs:20:9:20:10 | l2 | semmle.label | l2 | -| main.rs:20:14:20:54 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | -| main.rs:20:14:20:63 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:20:50:20:50 | v | semmle.label | v | -| main.rs:21:13:21:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:21:31:21:32 | l2 | semmle.label | l2 | -| main.rs:22:13:22:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:22:31:22:44 | l2.align_to(...) [Ok] | semmle.label | l2.align_to(...) [Ok] | -| main.rs:22:31:22:53 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:23:13:23:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:23:31:23:44 | l2.align_to(...) [Ok] | semmle.label | l2.align_to(...) [Ok] | -| main.rs:23:31:23:53 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:23:31:23:68 | ... .pad_to_align() | semmle.label | ... .pad_to_align() | -| main.rs:24:13:24:36 | ...::alloc_zeroed | semmle.label | ...::alloc_zeroed | -| main.rs:24:38:24:39 | l2 | semmle.label | l2 | -| main.rs:29:9:29:10 | l4 | semmle.label | l4 | -| main.rs:29:14:29:64 | ...::from_size_align_unchecked(...) | semmle.label | ...::from_size_align_unchecked(...) | -| main.rs:29:60:29:60 | v | semmle.label | v | -| main.rs:30:13:30:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:30:31:30:32 | l4 | semmle.label | l4 | -| main.rs:32:9:32:10 | l5 | semmle.label | l5 | -| main.rs:32:14:32:118 | ...::from_size_align_unchecked(...) | semmle.label | ...::from_size_align_unchecked(...) | -| main.rs:32:60:32:89 | ... * ... | semmle.label | ... * ... | -| main.rs:33:13:33:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:33:31:33:32 | l5 | semmle.label | l5 | -| main.rs:35:9:35:10 | s6 | semmle.label | s6 | -| main.rs:36:9:36:10 | l6 | semmle.label | l6 | -| main.rs:36:14:36:65 | ...::from_size_align_unchecked(...) | semmle.label | ...::from_size_align_unchecked(...) | -| main.rs:36:60:36:61 | s6 | semmle.label | s6 | -| main.rs:37:13:37:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:37:31:37:32 | l6 | semmle.label | l6 | -| main.rs:39:9:39:10 | l7 | semmle.label | l7 | -| main.rs:39:14:39:72 | ...::from_size_align_unchecked(...) | semmle.label | ...::from_size_align_unchecked(...) | -| main.rs:39:60:39:68 | l6.size() | semmle.label | l6.size() | -| main.rs:40:13:40:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:40:31:40:32 | l7 | semmle.label | l7 | -| main.rs:43:44:43:51 | ...: usize | semmle.label | ...: usize | -| main.rs:50:13:50:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:50:31:50:42 | l2.repeat(...) [Ok, tuple.0] | semmle.label | l2.repeat(...) [Ok, tuple.0] | -| main.rs:50:31:50:51 | ... .unwrap() [tuple.0] | semmle.label | ... .unwrap() [tuple.0] | -| main.rs:50:31:50:53 | ... .0 | semmle.label | ... .0 | -| main.rs:50:41:50:41 | v | semmle.label | v | -| main.rs:51:13:51:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:51:31:51:46 | l2.repeat(...) [Ok, tuple.0] | semmle.label | l2.repeat(...) [Ok, tuple.0] | -| main.rs:51:31:51:55 | ... .unwrap() [tuple.0] | semmle.label | ... .unwrap() [tuple.0] | -| main.rs:51:31:51:57 | ... .0 | semmle.label | ... .0 | -| main.rs:51:41:51:45 | ... + ... | semmle.label | ... + ... | -| main.rs:53:13:53:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:53:31:53:49 | l2.repeat_packed(...) [Ok] | semmle.label | l2.repeat_packed(...) [Ok] | -| main.rs:53:31:53:58 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:53:48:53:48 | v | semmle.label | v | -| main.rs:54:13:54:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:54:31:54:54 | l2.repeat_packed(...) [Ok] | semmle.label | l2.repeat_packed(...) [Ok] | -| main.rs:54:31:54:63 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:54:48:54:53 | ... * ... | semmle.label | ... * ... | -| main.rs:58:9:58:20 | TuplePat [tuple.0] | semmle.label | TuplePat [tuple.0] | -| main.rs:58:10:58:11 | k1 | semmle.label | k1 | -| main.rs:58:24:58:35 | l3.repeat(...) [Ok, tuple.0] | semmle.label | l3.repeat(...) [Ok, tuple.0] | -| main.rs:58:24:58:66 | ... .expect(...) [tuple.0] | semmle.label | ... .expect(...) [tuple.0] | -| main.rs:58:34:58:34 | v | semmle.label | v | -| main.rs:59:13:59:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:59:31:59:32 | k1 | semmle.label | k1 | -| main.rs:60:9:60:20 | TuplePat [tuple.0] | semmle.label | TuplePat [tuple.0] | -| main.rs:60:10:60:11 | k2 | semmle.label | k2 | -| main.rs:60:24:60:36 | l3.extend(...) [Ok, tuple.0] | semmle.label | l3.extend(...) [Ok, tuple.0] | -| main.rs:60:24:60:45 | ... .unwrap() [tuple.0] | semmle.label | ... .unwrap() [tuple.0] | -| main.rs:60:34:60:35 | k1 | semmle.label | k1 | -| main.rs:61:13:61:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:61:31:61:32 | k2 | semmle.label | k2 | -| main.rs:62:9:62:20 | TuplePat [tuple.0] | semmle.label | TuplePat [tuple.0] | -| main.rs:62:10:62:11 | k3 | semmle.label | k3 | -| main.rs:62:24:62:36 | k1.extend(...) [Ok, tuple.0] | semmle.label | k1.extend(...) [Ok, tuple.0] | -| main.rs:62:24:62:45 | ... .unwrap() [tuple.0] | semmle.label | ... .unwrap() [tuple.0] | -| main.rs:63:13:63:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:63:31:63:32 | k3 | semmle.label | k3 | -| main.rs:64:13:64:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:64:31:64:50 | l3.extend_packed(...) [Ok] | semmle.label | l3.extend_packed(...) [Ok] | -| main.rs:64:31:64:59 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:64:48:64:49 | k1 | semmle.label | k1 | -| main.rs:65:13:65:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:65:31:65:50 | k1.extend_packed(...) [Ok] | semmle.label | k1.extend_packed(...) [Ok] | -| main.rs:65:31:65:59 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:67:9:67:10 | l4 | semmle.label | l4 | -| main.rs:67:14:67:47 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:67:14:67:56 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:67:46:67:46 | v | semmle.label | v | -| main.rs:68:13:68:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:68:31:68:32 | l4 | semmle.label | l4 | -| main.rs:86:35:86:42 | ...: usize | semmle.label | ...: usize | -| main.rs:87:9:87:14 | layout | semmle.label | layout | -| main.rs:87:18:87:58 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | -| main.rs:87:18:87:67 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:87:54:87:54 | v | semmle.label | v | -| main.rs:88:13:88:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:88:31:88:36 | layout | semmle.label | layout | -| main.rs:91:38:91:45 | ...: usize | semmle.label | ...: usize | -| main.rs:92:9:92:10 | l1 | semmle.label | l1 | -| main.rs:92:14:92:48 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:92:14:92:57 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:92:47:92:47 | v | semmle.label | v | -| main.rs:96:17:96:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:96:35:96:36 | l1 | semmle.label | l1 | -| main.rs:101:13:101:14 | l3 | semmle.label | l3 | -| main.rs:101:18:101:52 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:101:18:101:61 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:101:51:101:51 | v | semmle.label | v | -| main.rs:102:17:102:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:102:35:102:36 | l1 | semmle.label | l1 | -| main.rs:103:17:103:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:103:35:103:36 | l3 | semmle.label | l3 | -| main.rs:105:33:105:33 | v | semmle.label | v | -| main.rs:109:17:109:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:109:35:109:36 | l1 | semmle.label | l1 | -| main.rs:111:17:111:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:111:35:111:36 | l1 | semmle.label | l1 | -| main.rs:145:13:145:14 | l9 | semmle.label | l9 | -| main.rs:145:18:145:52 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:145:18:145:61 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:145:51:145:51 | v | semmle.label | v | -| main.rs:146:17:146:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:146:35:146:36 | l1 | semmle.label | l1 | -| main.rs:148:17:148:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:148:35:148:36 | l9 | semmle.label | l9 | -| main.rs:151:9:151:11 | l10 | semmle.label | l10 | -| main.rs:151:15:151:69 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:151:15:151:78 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:151:48:151:68 | ...::min(...) | semmle.label | ...::min(...) | -| main.rs:151:62:151:62 | v | semmle.label | v | -| main.rs:152:13:152:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:152:31:152:33 | l10 | semmle.label | l10 | -| main.rs:154:9:154:11 | l11 | semmle.label | l11 | -| main.rs:154:15:154:69 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:154:15:154:78 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:154:48:154:68 | ...::max(...) | semmle.label | ...::max(...) | -| main.rs:154:62:154:62 | v | semmle.label | v | -| main.rs:155:13:155:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:155:31:155:33 | l11 | semmle.label | l11 | -| main.rs:161:13:161:15 | l13 | semmle.label | l13 | -| main.rs:161:19:161:59 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | -| main.rs:161:19:161:68 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:161:55:161:55 | v | semmle.label | v | -| main.rs:162:17:162:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:162:35:162:37 | l13 | semmle.label | l13 | -| main.rs:169:17:169:33 | ...::alloc | semmle.label | ...::alloc | -| main.rs:169:35:169:37 | l13 | semmle.label | l13 | -| main.rs:177:13:177:29 | ...::alloc | semmle.label | ...::alloc | -| main.rs:177:31:177:32 | l1 | semmle.label | l1 | -| main.rs:183:29:183:36 | ...: usize | semmle.label | ...: usize | -| main.rs:192:9:192:10 | l2 | semmle.label | l2 | -| main.rs:192:14:192:47 | ...::array::<...>(...) [Ok] | semmle.label | ...::array::<...>(...) [Ok] | -| main.rs:192:14:192:56 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:192:46:192:46 | v | semmle.label | v | -| main.rs:193:32:193:36 | alloc | semmle.label | alloc | -| main.rs:193:38:193:39 | l2 | semmle.label | l2 | -| main.rs:194:32:194:43 | alloc_zeroed | semmle.label | alloc_zeroed | -| main.rs:194:45:194:46 | l2 | semmle.label | l2 | -| main.rs:195:32:195:39 | allocate | semmle.label | allocate | -| main.rs:195:41:195:42 | l2 | semmle.label | l2 | -| main.rs:196:32:196:46 | allocate_zeroed | semmle.label | allocate_zeroed | -| main.rs:196:48:196:49 | l2 | semmle.label | l2 | -| main.rs:197:32:197:39 | allocate | semmle.label | allocate | -| main.rs:197:41:197:42 | l2 | semmle.label | l2 | -| main.rs:198:32:198:46 | allocate_zeroed | semmle.label | allocate_zeroed | -| main.rs:198:48:198:49 | l2 | semmle.label | l2 | -| main.rs:208:40:208:43 | grow | semmle.label | grow | -| main.rs:208:53:208:54 | l2 | semmle.label | l2 | -| main.rs:210:40:210:50 | grow_zeroed | semmle.label | grow_zeroed | -| main.rs:210:60:210:61 | l2 | semmle.label | l2 | -| main.rs:217:27:217:34 | ...: usize | semmle.label | ...: usize | -| main.rs:219:13:219:24 | ...::malloc | semmle.label | ...::malloc | -| main.rs:219:26:219:26 | v | semmle.label | v | -| main.rs:220:13:220:31 | ...::aligned_alloc | semmle.label | ...::aligned_alloc | -| main.rs:220:36:220:36 | v | semmle.label | v | -| main.rs:222:13:222:24 | ...::calloc | semmle.label | ...::calloc | -| main.rs:222:30:222:30 | v | semmle.label | v | -| main.rs:223:13:223:24 | ...::calloc | semmle.label | ...::calloc | -| main.rs:223:26:223:26 | v | semmle.label | v | -| main.rs:224:13:224:25 | ...::realloc | semmle.label | ...::realloc | -| main.rs:224:31:224:31 | v | semmle.label | v | -| main.rs:279:24:279:41 | ...: String | semmle.label | ...: String | -| main.rs:280:9:280:17 | num_bytes | semmle.label | num_bytes | -| main.rs:280:21:280:47 | user_input.parse() [Ok] | semmle.label | user_input.parse() [Ok] | -| main.rs:280:21:280:48 | TryExpr | semmle.label | TryExpr | -| main.rs:282:9:282:14 | layout | semmle.label | layout | -| main.rs:282:18:282:66 | ...::from_size_align(...) [Ok] | semmle.label | ...::from_size_align(...) [Ok] | -| main.rs:282:18:282:75 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:282:54:282:62 | num_bytes | semmle.label | num_bytes | -| main.rs:284:22:284:38 | ...::alloc | semmle.label | ...::alloc | -| main.rs:284:40:284:45 | layout | semmle.label | layout | -| main.rs:308:25:308:38 | ...::args | semmle.label | ...::args | -| main.rs:308:25:308:40 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | -| main.rs:308:25:308:47 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | -| main.rs:308:25:308:74 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| main.rs:317:9:317:9 | v | semmle.label | v | -| main.rs:317:13:317:26 | ...::args | semmle.label | ...::args | -| main.rs:317:13:317:28 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | -| main.rs:317:13:317:35 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | -| main.rs:317:13:317:65 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | -| main.rs:317:13:317:82 | ... .parse() [Ok] | semmle.label | ... .parse() [Ok] | -| main.rs:317:13:317:91 | ... .unwrap() | semmle.label | ... .unwrap() | -| main.rs:320:34:320:34 | v | semmle.label | v | -| main.rs:321:42:321:42 | v | semmle.label | v | -| main.rs:322:36:322:36 | v | semmle.label | v | -| main.rs:323:27:323:27 | v | semmle.label | v | -| main.rs:324:25:324:25 | v | semmle.label | v | subpaths +testFailures +| main.rs:18:45:18:94 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:21:36:21:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:22:57:22:106 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:23:72:23:121 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:24:43:24:92 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:30:36:30:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:33:36:33:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:37:36:37:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:40:36:40:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:50:57:50:106 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:51:61:51:110 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:53:62:53:111 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:54:67:54:116 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:59:36:59:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:61:36:61:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:63:36:63:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:64:63:64:112 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:65:63:65:112 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:68:36:68:85 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:88:40:88:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:96:40:96:99 | //... | Fixed spurious result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:102:40:102:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:103:40:103:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:109:40:109:99 | //... | Fixed spurious result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:111:40:111:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:146:40:146:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:148:40:148:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:152:37:152:96 | //... | Fixed spurious result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:155:37:155:86 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:162:41:162:90 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:169:41:169:100 | //... | Fixed spurious result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:177:36:177:95 | //... | Fixed spurious result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:193:43:193:92 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:194:50:194:99 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:195:55:195:104 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:196:62:196:111 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:197:55:197:104 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:198:62:198:111 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:208:67:208:116 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:210:74:210:123 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:219:30:219:79 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:220:40:220:89 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:222:34:222:83 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:223:58:223:107 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:224:35:224:84 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=arg1 | +| main.rs:284:49:284:102 | //... | Missing result: Alert[rust/uncontrolled-allocation-size]=example1 | +| main.rs:308:78:308:97 | //... | Missing result: Source=example1 | +| main.rs:317:94:317:109 | //... | Missing result: Source=arg1 | diff --git a/rust/ql/test/utils-tests/modelgenerator/CaptureSummaryModels.expected b/rust/ql/test/utils-tests/modelgenerator/CaptureSummaryModels.expected index b05e99f352b0..b17015659823 100644 --- a/rust/ql/test/utils-tests/modelgenerator/CaptureSummaryModels.expected +++ b/rust/ql/test/utils-tests/modelgenerator/CaptureSummaryModels.expected @@ -1,12 +1,12 @@ unexpectedModel -| Unexpected summary found: repo::test;::clone;Argument[self].Field[crate::option::MyOption::MySome(0)].Reference;ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated | | Unexpected summary found: repo::test;::from;Argument[0].Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)].Reference;value;dfc-generated | -| Unexpected summary found: repo::test;::cloned;Argument[self].Field[crate::option::MyOption::MySome(0)].Reference;ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated | | Unexpected summary found: repo::test;::get_or_insert;Argument[0];Argument[self].Field[crate::option::MyOption::MySome(0)];value;dfc-generated | | Unexpected summary found: repo::test;::get_or_insert;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated | | Unexpected summary found: repo::test;::get_or_insert_default;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated | | Unexpected summary found: repo::test;::get_or_insert_with;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated | | Unexpected summary found: repo::test;::insert;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Reference;value;dfc-generated | expectedModel +| Expected summary missing: repo::test;::clone;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated | +| Expected summary missing: repo::test;::cloned;Argument[self].Field[crate::option::MyOption::MySome(0)];ReturnValue.Field[crate::option::MyOption::MySome(0)];value;dfc-generated | | Expected summary missing: repo::test;::take_if;Argument[self].Reference.Field[crate::option::MyOption::MySome(0)];Argument[0].Parameter[0].Reference;value;dfc-generated | | Expected summary missing: repo::test;::take_if;Argument[self].Reference;ReturnValue;value;dfc-generated |