mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge branch 'main' into redsun82/mad
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
class BuiltinType extends @builtintype {
|
||||
string toString() { none() }
|
||||
}
|
||||
|
||||
from BuiltinType id, string name, int kind, int new_kind, int size, int sign, int alignment
|
||||
where
|
||||
builtintypes(id, name, kind, size, sign, alignment) and
|
||||
if kind = 62 then new_kind = 1 else new_kind = kind
|
||||
select id, name, new_kind, size, sign, alignment
|
||||
2492
cpp/downgrades/af887e83a815a9cefe774ffa80e2493a1365b9e2/old.dbscheme
Normal file
2492
cpp/downgrades/af887e83a815a9cefe774ffa80e2493a1365b9e2/old.dbscheme
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
||||
description: Support __mfp8 type
|
||||
compatibility: backwards
|
||||
builtintypes.rel: run builtintypes.qlo
|
||||
@@ -839,6 +839,9 @@ private predicate floatingPointTypeMapping(
|
||||
or
|
||||
// _Complex _Float128
|
||||
kind = 61 and base = 2 and domain = TComplexDomain() and realKind = 49 and extended = false
|
||||
or
|
||||
// __mfp8
|
||||
kind = 62 and base = 2 and domain = TRealDomain() and realKind = 62 and extended = false
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -691,6 +691,7 @@ case @builtintype.kind of
|
||||
| 59 = @complex_std_float64 // _Complex _Float64
|
||||
| 60 = @complex_float64x // _Complex _Float64x
|
||||
| 61 = @complex_std_float128 // _Complex _Float128
|
||||
| 62 = @mfp8 // __mfp8
|
||||
;
|
||||
|
||||
builtintypes(
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
description: Support __mfp8 type
|
||||
compatibility: full
|
||||
@@ -25,6 +25,7 @@
|
||||
| file://:0:0:0:0 | __float128 |
|
||||
| file://:0:0:0:0 | __fp16 |
|
||||
| file://:0:0:0:0 | __int128 |
|
||||
| file://:0:0:0:0 | __mfp8 |
|
||||
| file://:0:0:0:0 | __va_list_tag |
|
||||
| file://:0:0:0:0 | __va_list_tag & |
|
||||
| file://:0:0:0:0 | __va_list_tag && |
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
| file://:0:0:0:0 | __float128 | 16 |
|
||||
| file://:0:0:0:0 | __fp16 | 2 |
|
||||
| file://:0:0:0:0 | __int128 | 16 |
|
||||
| file://:0:0:0:0 | __mfp8 | 1 |
|
||||
| file://:0:0:0:0 | __va_list_tag | 24 |
|
||||
| file://:0:0:0:0 | __va_list_tag & | 8 |
|
||||
| file://:0:0:0:0 | __va_list_tag && | 8 |
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
| file://:0:0:0:0 | __float128 | __float128 |
|
||||
| file://:0:0:0:0 | __fp16 | __fp16 |
|
||||
| file://:0:0:0:0 | __int128 | __int128 |
|
||||
| file://:0:0:0:0 | __mfp8 | __mfp8 |
|
||||
| file://:0:0:0:0 | __va_list_tag & | __va_list_tag & |
|
||||
| file://:0:0:0:0 | __va_list_tag && | __va_list_tag && |
|
||||
| file://:0:0:0:0 | auto | auto |
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
| __float128 | Float128Type | | | | |
|
||||
| __fp16 | BinaryFloatingPointType, RealNumberType | | | | |
|
||||
| __int128 | Int128Type | | | | |
|
||||
| __mfp8 | BinaryFloatingPointType, RealNumberType | | | | |
|
||||
| __va_list_tag | DirectAccessHolder, MetricClass, Struct, StructLikeClass | | | | |
|
||||
| __va_list_tag & | LValueReferenceType, PointerOrArrayOrReferenceType, PointerOrArrayOrReferenceTypeIndirection | | __va_list_tag | | |
|
||||
| __va_list_tag && | PointerOrArrayOrReferenceType, PointerOrArrayOrReferenceTypeIndirection, RValueReferenceType | | __va_list_tag | | |
|
||||
|
||||
@@ -11,6 +11,7 @@ ql/csharp/ql/src/Likely Bugs/EqualityCheckOnFloats.ql
|
||||
ql/csharp/ql/src/Likely Bugs/ReferenceEqualsOnValueTypes.ql
|
||||
ql/csharp/ql/src/Likely Bugs/SelfAssignment.ql
|
||||
ql/csharp/ql/src/Likely Bugs/UncheckedCastInEquals.ql
|
||||
ql/csharp/ql/src/Performance/StringConcatenationInLoop.ql
|
||||
ql/csharp/ql/src/Performance/UseTryGetValue.ql
|
||||
ql/csharp/ql/src/Useless code/DefaultToString.ql
|
||||
ql/csharp/ql/src/Useless code/IntGetHashCode.ql
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
* @id cs/string-concatenation-in-loop
|
||||
* @tags efficiency
|
||||
* maintainability
|
||||
* quality
|
||||
*/
|
||||
|
||||
import csharp
|
||||
|
||||
@@ -127,12 +127,25 @@ abstract class ItemNode extends Locatable {
|
||||
or
|
||||
crateDependencyEdge(this, name, result)
|
||||
or
|
||||
externCrateEdge(this, name, result)
|
||||
or
|
||||
// items made available through `use` are available to nodes that contain the `use`
|
||||
exists(UseItemNode use |
|
||||
use = this.getASuccessorRec(_) and
|
||||
result = use.(ItemNode).getASuccessorRec(name)
|
||||
)
|
||||
or
|
||||
exists(ExternCrateItemNode ec | result = ec.(ItemNode).getASuccessorRec(name) |
|
||||
ec = this.getASuccessorRec(_)
|
||||
or
|
||||
// if the extern crate appears in the crate root, then the crate name is also added
|
||||
// to the 'extern prelude', see https://doc.rust-lang.org/reference/items/extern-crates.html
|
||||
exists(Crate c |
|
||||
ec = c.getSourceFile().(ItemNode).getASuccessorRec(_) and
|
||||
this = c.getASourceFile()
|
||||
)
|
||||
)
|
||||
or
|
||||
// items made available through macro calls are available to nodes that contain the macro call
|
||||
exists(MacroCallItemNode call |
|
||||
call = this.getASuccessorRec(_) and
|
||||
@@ -353,16 +366,30 @@ class CrateItemNode extends ItemNode instanceof Crate {
|
||||
|
||||
override predicate providesCanonicalPathPrefixFor(Crate c, ItemNode child) {
|
||||
this.hasCanonicalPath(c) and
|
||||
exists(ModuleLikeNode m |
|
||||
child.getImmediateParent() = m and
|
||||
not m = child.(SourceFileItemNode).getSuper() and
|
||||
m = super.getSourceFile()
|
||||
exists(SourceFileItemNode file |
|
||||
child.getImmediateParent() = file and
|
||||
not file = child.(SourceFileItemNode).getSuper() and
|
||||
file = super.getSourceFile()
|
||||
)
|
||||
}
|
||||
|
||||
override string getCanonicalPath(Crate c) { c = this and result = Crate.super.getName() }
|
||||
}
|
||||
|
||||
class ExternCrateItemNode extends ItemNode instanceof ExternCrate {
|
||||
override string getName() { result = super.getRename().getName().getText() }
|
||||
|
||||
override Namespace getNamespace() { none() }
|
||||
|
||||
override Visibility getVisibility() { none() }
|
||||
|
||||
override TypeParam getTypeParam(int i) { none() }
|
||||
|
||||
override predicate hasCanonicalPath(Crate c) { none() }
|
||||
|
||||
override string getCanonicalPath(Crate c) { none() }
|
||||
}
|
||||
|
||||
/** An item that can occur in a trait or an `impl` block. */
|
||||
abstract private class AssocItemNode extends ItemNode, AssocItem {
|
||||
/** Holds if this associated item has an implementation. */
|
||||
@@ -793,6 +820,10 @@ class TypeAliasItemNode extends AssocItemNode instanceof TypeAlias {
|
||||
override Visibility getVisibility() { result = TypeAlias.super.getVisibility() }
|
||||
|
||||
override TypeParam getTypeParam(int i) { result = super.getGenericParamList().getTypeParam(i) }
|
||||
|
||||
override predicate hasCanonicalPath(Crate c) { none() }
|
||||
|
||||
override string getCanonicalPath(Crate c) { none() }
|
||||
}
|
||||
|
||||
private class UnionItemNode extends ItemNode instanceof Union {
|
||||
@@ -1063,12 +1094,12 @@ private predicate crateDefEdge(CrateItemNode c, string name, ItemNode i) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `m` depends on crate `dep` named `name`.
|
||||
* Holds if `file` depends on crate `dep` named `name`.
|
||||
*/
|
||||
private predicate crateDependencyEdge(ModuleLikeNode m, string name, CrateItemNode dep) {
|
||||
private predicate crateDependencyEdge(SourceFileItemNode file, string name, CrateItemNode dep) {
|
||||
exists(CrateItemNode c |
|
||||
dep = c.(Crate).getDependency(name) and
|
||||
m = c.getASourceFile()
|
||||
file = c.getASourceFile()
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1404,6 +1435,22 @@ private predicate useImportEdge(Use use, string name, ItemNode item) {
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if `ec` imports `crate` as `name`. */
|
||||
pragma[nomagic]
|
||||
private predicate externCrateEdge(ExternCrateItemNode ec, string name, CrateItemNode crate) {
|
||||
name = ec.getName() and
|
||||
exists(SourceFile f, string s |
|
||||
ec.getFile() = f.getFile() and
|
||||
s = ec.(ExternCrate).getIdentifier().getText()
|
||||
|
|
||||
crateDependencyEdge(f, s, crate)
|
||||
or
|
||||
// `extern crate` is used to import the current crate
|
||||
s = "self" and
|
||||
ec.getFile() = crate.getASourceFile().getFile()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if `i` is available inside `f` because it is reexported in
|
||||
* [the `core` prelude][1] or [the `std` prelude][2].
|
||||
|
||||
1
rust/ql/test/extractor-tests/crate_graph/.gitignore
vendored
Normal file
1
rust/ql/test/extractor-tests/crate_graph/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!/Cargo.lock
|
||||
84
rust/ql/test/extractor-tests/crate_graph/Cargo.lock
generated
Normal file
84
rust/ql/test/extractor-tests/crate_graph/Cargo.lock
generated
Normal file
@@ -0,0 +1,84 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
version = "0.10.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
|
||||
|
||||
[[package]]
|
||||
name = "crypto-common"
|
||||
version = "0.1.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "digest"
|
||||
version = "0.10.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
||||
dependencies = [
|
||||
"block-buffer",
|
||||
"crypto-common",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "generic-array"
|
||||
version = "0.14.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
|
||||
dependencies = [
|
||||
"typenum",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "md-5"
|
||||
version = "0.10.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "md5"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
|
||||
|
||||
[[package]]
|
||||
name = "test"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"md-5",
|
||||
"md5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "typenum"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
||||
@@ -18,7 +18,7 @@
|
||||
#-----| core -> Crate(core@0.0.0)
|
||||
#-----| compiler_builtins -> Crate(compiler_builtins@0.1.140)
|
||||
|
||||
#-----| Crate(cfg_if@1.0.0)
|
||||
#-----| Crate(cfg_if@1.0.1)
|
||||
#-----| proc_macro -> Crate(proc_macro@0.0.0)
|
||||
#-----| alloc -> Crate(alloc@0.0.0)
|
||||
#-----| core -> Crate(core@0.0.0)
|
||||
@@ -89,7 +89,7 @@ main.rs:
|
||||
#-----| core -> Crate(core@0.0.0)
|
||||
#-----| std -> Crate(std@0.0.0)
|
||||
#-----| test -> Crate(test@0.0.0)
|
||||
#-----| cfg_if -> Crate(cfg_if@1.0.0)
|
||||
#-----| cfg_if -> Crate(cfg_if@1.0.1)
|
||||
#-----| digest -> Crate(digest@0.10.7)
|
||||
|
||||
#-----| Crate(md5@0.7.0)
|
||||
|
||||
@@ -1,3 +1,64 @@
|
||||
multiplePathResolutions
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| test.rs:775:50:775:61 | ...::from | file://:0:0:0:0 | fn from |
|
||||
multipleCanonicalPaths
|
||||
| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | <typenum::Equal as core::cmp::Ord>::to_ordering |
|
||||
| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | <typenum::Equal as typenum::marker_traits::Ord>::to_ordering |
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
multiplePathResolutions
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:52:11:52:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
@@ -22,8 +22,10 @@ edges
|
||||
| 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:16 | s | 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:64:16:64:16 | s | main.rs:64:16:64:25 | s.as_str() | provenance | MaD:3 |
|
||||
| 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 | |
|
||||
@@ -75,6 +77,7 @@ nodes
|
||||
| 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:16 | s | semmle.label | s |
|
||||
| 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(...) |
|
||||
|
||||
@@ -285,7 +285,7 @@ mod m13 {
|
||||
pub struct f {} // I72
|
||||
|
||||
mod m14 {
|
||||
use crate::m13::f; // $ item=I71 item=I72
|
||||
use zelf::m13::f; // $ item=I71 item=I72
|
||||
|
||||
#[rustfmt::skip]
|
||||
fn g(x: f) { // $ item=I72
|
||||
@@ -621,6 +621,8 @@ mod m24 {
|
||||
} // I121
|
||||
}
|
||||
|
||||
extern crate self as zelf;
|
||||
|
||||
fn main() {
|
||||
my::nested::nested1::nested2::f(); // $ item=I4
|
||||
my::f(); // $ item=I38
|
||||
@@ -650,4 +652,5 @@ fn main() {
|
||||
m18::m19::m20::g(); // $ item=I103
|
||||
m23::f(); // $ item=I108
|
||||
m24::f(); // $ item=I121
|
||||
zelf::h(); // $ item=I25
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ type Result<
|
||||
T, // T
|
||||
> = ::std::result::Result<
|
||||
T, // $ item=T
|
||||
String,> // $ item=Result
|
||||
String,> // $ item=Result $ item=String
|
||||
; // my::Result
|
||||
|
||||
fn int_div(
|
||||
|
||||
@@ -61,7 +61,7 @@ resolvePath
|
||||
| main.rs:30:17:30:21 | super | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:30:17:30:24 | ...::f | main.rs:19:9:21:9 | fn f |
|
||||
| main.rs:33:17:33:17 | f | main.rs:19:9:21:9 | fn f |
|
||||
| main.rs:40:9:40:13 | super | main.rs:1:1:653:2 | SourceFile |
|
||||
| main.rs:40:9:40:13 | super | main.rs:1:1:656:2 | SourceFile |
|
||||
| main.rs:40:9:40:17 | ...::m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:40:9:40:21 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:40:9:40:24 | ...::g | main.rs:23:9:27:9 | fn g |
|
||||
@@ -73,7 +73,7 @@ resolvePath
|
||||
| main.rs:61:17:61:19 | Foo | main.rs:59:9:59:21 | struct Foo |
|
||||
| main.rs:64:13:64:15 | Foo | main.rs:53:5:53:17 | struct Foo |
|
||||
| main.rs:66:5:66:5 | f | main.rs:55:5:62:5 | fn f |
|
||||
| main.rs:68:5:68:8 | self | main.rs:1:1:653:2 | SourceFile |
|
||||
| main.rs:68:5:68:8 | self | main.rs:1:1:656:2 | SourceFile |
|
||||
| main.rs:68:5:68:11 | ...::i | main.rs:71:1:83:1 | fn i |
|
||||
| main.rs:74:13:74:15 | Foo | main.rs:48:1:48:13 | struct Foo |
|
||||
| main.rs:78:16:78:18 | i32 | {EXTERNAL LOCATION} | struct i32 |
|
||||
@@ -88,7 +88,7 @@ resolvePath
|
||||
| main.rs:87:57:87:66 | ...::g | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:87:80:87:86 | nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 |
|
||||
| main.rs:100:5:100:22 | f_defined_in_macro | main.rs:99:18:99:42 | fn f_defined_in_macro |
|
||||
| main.rs:117:13:117:17 | super | main.rs:1:1:653:2 | SourceFile |
|
||||
| main.rs:117:13:117:17 | super | main.rs:1:1:656:2 | SourceFile |
|
||||
| main.rs:117:13:117:21 | ...::m5 | main.rs:103:1:107:1 | mod m5 |
|
||||
| main.rs:118:9:118:9 | f | main.rs:104:5:106:5 | fn f |
|
||||
| main.rs:118:9:118:9 | f | main.rs:110:5:112:5 | fn f |
|
||||
@@ -145,10 +145,10 @@ resolvePath
|
||||
| main.rs:278:16:278:16 | T | main.rs:272:7:272:7 | T |
|
||||
| main.rs:279:14:279:17 | Self | main.rs:270:5:280:5 | trait MyParamTrait |
|
||||
| main.rs:279:14:279:33 | ...::AssociatedType | main.rs:274:9:274:28 | type AssociatedType |
|
||||
| main.rs:288:13:288:17 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:288:13:288:22 | ...::m13 | main.rs:283:1:296:1 | mod m13 |
|
||||
| main.rs:288:13:288:25 | ...::f | main.rs:284:5:284:17 | fn f |
|
||||
| main.rs:288:13:288:25 | ...::f | main.rs:284:19:285:19 | struct f |
|
||||
| main.rs:288:13:288:16 | zelf | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:288:13:288:21 | ...::m13 | main.rs:283:1:296:1 | mod m13 |
|
||||
| main.rs:288:13:288:24 | ...::f | main.rs:284:5:284:17 | fn f |
|
||||
| main.rs:288:13:288:24 | ...::f | main.rs:284:19:285:19 | struct f |
|
||||
| main.rs:291:17:291:17 | f | main.rs:284:19:285:19 | struct f |
|
||||
| main.rs:292:21:292:21 | f | main.rs:284:19:285:19 | struct f |
|
||||
| main.rs:293:13:293:13 | f | main.rs:284:5:284:17 | fn f |
|
||||
@@ -266,65 +266,67 @@ resolvePath
|
||||
| main.rs:620:9:620:36 | GenericStruct::<...> | main.rs:563:5:566:5 | struct GenericStruct |
|
||||
| main.rs:620:9:620:47 | ...::call_both | main.rs:586:9:589:9 | fn call_both |
|
||||
| main.rs:620:25:620:35 | Implementor | main.rs:592:5:592:23 | struct Implementor |
|
||||
| main.rs:625:5:625:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:625:5:625:14 | ...::nested | my.rs:1:1:1:15 | mod nested |
|
||||
| main.rs:625:5:625:23 | ...::nested1 | my/nested.rs:1:1:17:1 | mod nested1 |
|
||||
| main.rs:625:5:625:32 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 |
|
||||
| main.rs:625:5:625:35 | ...::f | my/nested.rs:3:9:5:9 | fn f |
|
||||
| main.rs:626:5:626:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:626:5:626:9 | ...::f | my.rs:5:1:7:1 | fn f |
|
||||
| main.rs:627:5:627:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
| main.rs:627:5:627:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 |
|
||||
| main.rs:627:5:627:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 |
|
||||
| main.rs:627:5:627:32 | ...::f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:628:5:628:5 | f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:629:5:629:5 | g | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:630:5:630:9 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:630:5:630:12 | ...::h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:631:5:631:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:631:5:631:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:631:5:631:13 | ...::g | main.rs:23:9:27:9 | fn g |
|
||||
| main.rs:632:5:632:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:632:5:632:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:632:5:632:14 | ...::m3 | main.rs:29:9:35:9 | mod m3 |
|
||||
| main.rs:632:5:632:17 | ...::h | main.rs:30:27:34:13 | fn h |
|
||||
| main.rs:633:5:633:6 | m4 | main.rs:39:1:46:1 | mod m4 |
|
||||
| main.rs:633:5:633:9 | ...::i | main.rs:42:5:45:5 | fn i |
|
||||
| main.rs:634:5:634:5 | h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:635:5:635:11 | f_alias | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:636:5:636:11 | g_alias | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:637:5:637:5 | j | main.rs:97:1:101:1 | fn j |
|
||||
| main.rs:638:5:638:6 | m6 | main.rs:109:1:120:1 | mod m6 |
|
||||
| main.rs:638:5:638:9 | ...::g | main.rs:114:5:119:5 | fn g |
|
||||
| main.rs:639:5:639:6 | m7 | main.rs:122:1:141:1 | mod m7 |
|
||||
| main.rs:639:5:639:9 | ...::f | main.rs:133:5:140:5 | fn f |
|
||||
| main.rs:640:5:640:6 | m8 | main.rs:143:1:197:1 | mod m8 |
|
||||
| main.rs:640:5:640:9 | ...::g | main.rs:181:5:196:5 | fn g |
|
||||
| main.rs:641:5:641:6 | m9 | main.rs:199:1:207:1 | mod m9 |
|
||||
| main.rs:641:5:641:9 | ...::f | main.rs:202:5:206:5 | fn f |
|
||||
| main.rs:642:5:642:7 | m11 | main.rs:230:1:267:1 | mod m11 |
|
||||
| main.rs:642:5:642:10 | ...::f | main.rs:235:5:238:5 | fn f |
|
||||
| main.rs:643:5:643:7 | m15 | main.rs:298:1:352:1 | mod m15 |
|
||||
| main.rs:643:5:643:10 | ...::f | main.rs:339:5:351:5 | fn f |
|
||||
| main.rs:644:5:644:7 | m16 | main.rs:354:1:446:1 | mod m16 |
|
||||
| main.rs:644:5:644:10 | ...::f | main.rs:421:5:445:5 | fn f |
|
||||
| main.rs:645:5:645:7 | m17 | main.rs:448:1:478:1 | mod m17 |
|
||||
| main.rs:645:5:645:10 | ...::f | main.rs:472:5:477:5 | fn f |
|
||||
| main.rs:646:5:646:11 | nested6 | my2/nested2.rs:14:5:18:5 | mod nested6 |
|
||||
| main.rs:646:5:646:14 | ...::f | my2/nested2.rs:15:9:17:9 | fn f |
|
||||
| main.rs:647:5:647:11 | nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 |
|
||||
| main.rs:647:5:647:14 | ...::f | my2/nested2.rs:23:9:25:9 | fn f |
|
||||
| main.rs:648:5:648:7 | my3 | my2/mod.rs:12:1:12:12 | mod my3 |
|
||||
| main.rs:648:5:648:10 | ...::f | my2/my3/mod.rs:1:1:5:1 | fn f |
|
||||
| main.rs:649:5:649:12 | nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f |
|
||||
| main.rs:650:5:650:7 | m18 | main.rs:480:1:498:1 | mod m18 |
|
||||
| main.rs:650:5:650:12 | ...::m19 | main.rs:485:5:497:5 | mod m19 |
|
||||
| main.rs:650:5:650:17 | ...::m20 | main.rs:490:9:496:9 | mod m20 |
|
||||
| main.rs:650:5:650:20 | ...::g | main.rs:491:13:495:13 | fn g |
|
||||
| main.rs:651:5:651:7 | m23 | main.rs:527:1:552:1 | mod m23 |
|
||||
| main.rs:651:5:651:10 | ...::f | main.rs:547:5:551:5 | fn f |
|
||||
| main.rs:652:5:652:7 | m24 | main.rs:554:1:622:1 | mod m24 |
|
||||
| main.rs:652:5:652:10 | ...::f | main.rs:608:5:621:5 | fn f |
|
||||
| main.rs:627:5:627:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:627:5:627:14 | ...::nested | my.rs:1:1:1:15 | mod nested |
|
||||
| main.rs:627:5:627:23 | ...::nested1 | my/nested.rs:1:1:17:1 | mod nested1 |
|
||||
| main.rs:627:5:627:32 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 |
|
||||
| main.rs:627:5:627:35 | ...::f | my/nested.rs:3:9:5:9 | fn f |
|
||||
| main.rs:628:5:628:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:628:5:628:9 | ...::f | my.rs:5:1:7:1 | fn f |
|
||||
| main.rs:629:5:629:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
| main.rs:629:5:629:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 |
|
||||
| main.rs:629:5:629:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 |
|
||||
| main.rs:629:5:629:32 | ...::f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:630:5:630:5 | f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:631:5:631:5 | g | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:632:5:632:9 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:632:5:632:12 | ...::h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:633:5:633:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:633:5:633:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:633:5:633:13 | ...::g | main.rs:23:9:27:9 | fn g |
|
||||
| main.rs:634:5:634:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:634:5:634:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:634:5:634:14 | ...::m3 | main.rs:29:9:35:9 | mod m3 |
|
||||
| main.rs:634:5:634:17 | ...::h | main.rs:30:27:34:13 | fn h |
|
||||
| main.rs:635:5:635:6 | m4 | main.rs:39:1:46:1 | mod m4 |
|
||||
| main.rs:635:5:635:9 | ...::i | main.rs:42:5:45:5 | fn i |
|
||||
| main.rs:636:5:636:5 | h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:637:5:637:11 | f_alias | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:638:5:638:11 | g_alias | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:639:5:639:5 | j | main.rs:97:1:101:1 | fn j |
|
||||
| main.rs:640:5:640:6 | m6 | main.rs:109:1:120:1 | mod m6 |
|
||||
| main.rs:640:5:640:9 | ...::g | main.rs:114:5:119:5 | fn g |
|
||||
| main.rs:641:5:641:6 | m7 | main.rs:122:1:141:1 | mod m7 |
|
||||
| main.rs:641:5:641:9 | ...::f | main.rs:133:5:140:5 | fn f |
|
||||
| main.rs:642:5:642:6 | m8 | main.rs:143:1:197:1 | mod m8 |
|
||||
| main.rs:642:5:642:9 | ...::g | main.rs:181:5:196:5 | fn g |
|
||||
| main.rs:643:5:643:6 | m9 | main.rs:199:1:207:1 | mod m9 |
|
||||
| main.rs:643:5:643:9 | ...::f | main.rs:202:5:206:5 | fn f |
|
||||
| main.rs:644:5:644:7 | m11 | main.rs:230:1:267:1 | mod m11 |
|
||||
| main.rs:644:5:644:10 | ...::f | main.rs:235:5:238:5 | fn f |
|
||||
| main.rs:645:5:645:7 | m15 | main.rs:298:1:352:1 | mod m15 |
|
||||
| main.rs:645:5:645:10 | ...::f | main.rs:339:5:351:5 | fn f |
|
||||
| main.rs:646:5:646:7 | m16 | main.rs:354:1:446:1 | mod m16 |
|
||||
| main.rs:646:5:646:10 | ...::f | main.rs:421:5:445:5 | fn f |
|
||||
| main.rs:647:5:647:7 | m17 | main.rs:448:1:478:1 | mod m17 |
|
||||
| main.rs:647:5:647:10 | ...::f | main.rs:472:5:477:5 | fn f |
|
||||
| main.rs:648:5:648:11 | nested6 | my2/nested2.rs:14:5:18:5 | mod nested6 |
|
||||
| main.rs:648:5:648:14 | ...::f | my2/nested2.rs:15:9:17:9 | fn f |
|
||||
| main.rs:649:5:649:11 | nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 |
|
||||
| main.rs:649:5:649:14 | ...::f | my2/nested2.rs:23:9:25:9 | fn f |
|
||||
| main.rs:650:5:650:7 | my3 | my2/mod.rs:12:1:12:12 | mod my3 |
|
||||
| main.rs:650:5:650:10 | ...::f | my2/my3/mod.rs:1:1:5:1 | fn f |
|
||||
| main.rs:651:5:651:12 | nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f |
|
||||
| main.rs:652:5:652:7 | m18 | main.rs:480:1:498:1 | mod m18 |
|
||||
| main.rs:652:5:652:12 | ...::m19 | main.rs:485:5:497:5 | mod m19 |
|
||||
| main.rs:652:5:652:17 | ...::m20 | main.rs:490:9:496:9 | mod m20 |
|
||||
| main.rs:652:5:652:20 | ...::g | main.rs:491:13:495:13 | fn g |
|
||||
| main.rs:653:5:653:7 | m23 | main.rs:527:1:552:1 | mod m23 |
|
||||
| main.rs:653:5:653:10 | ...::f | main.rs:547:5:551:5 | fn f |
|
||||
| main.rs:654:5:654:7 | m24 | main.rs:554:1:622:1 | mod m24 |
|
||||
| main.rs:654:5:654:10 | ...::f | main.rs:608:5:621:5 | fn f |
|
||||
| main.rs:655:5:655:8 | zelf | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:655:5:655:11 | ...::h | main.rs:50:1:69:1 | fn h |
|
||||
| my2/mod.rs:5:5:5:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
| my2/mod.rs:5:5:5:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 |
|
||||
| my2/mod.rs:5:5:5:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 |
|
||||
@@ -340,7 +342,7 @@ resolvePath
|
||||
| my2/my3/mod.rs:3:5:3:5 | g | my2/mod.rs:3:1:6:1 | fn g |
|
||||
| my2/my3/mod.rs:4:5:4:5 | h | main.rs:50:1:69:1 | fn h |
|
||||
| my2/my3/mod.rs:7:5:7:9 | super | my2/mod.rs:1:1:17:30 | SourceFile |
|
||||
| my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:653:2 | SourceFile |
|
||||
| my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:656:2 | SourceFile |
|
||||
| my2/my3/mod.rs:7:5:7:19 | ...::h | main.rs:50:1:69:1 | fn h |
|
||||
| my2/my3/mod.rs:8:5:8:9 | super | my2/mod.rs:1:1:17:30 | SourceFile |
|
||||
| my2/my3/mod.rs:8:5:8:12 | ...::g | my2/mod.rs:3:1:6:1 | fn g |
|
||||
@@ -354,6 +356,7 @@ resolvePath
|
||||
| my.rs:22:5:22:17 | ...::result | {EXTERNAL LOCATION} | mod result |
|
||||
| my.rs:22:5:24:12 | ...::Result::<...> | {EXTERNAL LOCATION} | enum Result |
|
||||
| my.rs:23:5:23:5 | T | my.rs:21:5:21:5 | T |
|
||||
| my.rs:24:5:24:10 | String | {EXTERNAL LOCATION} | struct String |
|
||||
| my.rs:28:8:28:10 | i32 | {EXTERNAL LOCATION} | struct i32 |
|
||||
| my.rs:29:8:29:10 | i32 | {EXTERNAL LOCATION} | struct i32 |
|
||||
| my.rs:30:6:30:16 | Result::<...> | my.rs:18:34:25:1 | type Result<...> |
|
||||
|
||||
@@ -7,3 +7,16 @@ multipleMethodCallTargets
|
||||
| main.rs:459:9:459:23 | z.add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
| main.rs:459:9:459:23 | z.add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
| main.rs:459:9:459:23 | z.add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
multiplePathResolutions
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
multiplePathResolutions
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from |
|
||||
@@ -6,7 +6,7 @@
|
||||
| Files extracted - without errors % | 57 |
|
||||
| Inconsistencies - AST | 0 |
|
||||
| Inconsistencies - CFG | 0 |
|
||||
| Inconsistencies - Path resolution | 0 |
|
||||
| Inconsistencies - Path resolution | 1 |
|
||||
| Inconsistencies - SSA | 0 |
|
||||
| Inconsistencies - data flow | 0 |
|
||||
| Lines of code extracted | 60 |
|
||||
|
||||
@@ -1,3 +1,274 @@
|
||||
multiplePathResolutions
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from |
|
||||
multipleCanonicalPaths
|
||||
| file://:0:0:0:0 | fn encode | file://:0:0:0:0 | Crate(core@0.0.0) | <core::option::Option as der::encode::Encode>::encode |
|
||||
| file://:0:0:0:0 | fn encode | file://:0:0:0:0 | Crate(core@0.0.0) | <core::option::Option as sqlx_core::encode::Encode>::encode |
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
illFormedTypeMention
|
||||
| sqlx.rs:158:13:158:81 | ...::BoxDynError |
|
||||
| sqlx.rs:160:17:160:86 | ...::BoxDynError |
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,7 @@
|
||||
|
||||
use log::{debug, error, info, trace, warn, log, Level};
|
||||
use std::io::Write as _;
|
||||
use std::fmt::Write as _;
|
||||
use log::{debug, error, info, log, trace, warn, Level};
|
||||
use log_err::{LogErrOption, LogErrResult};
|
||||
use std::fmt::Write as _;
|
||||
use std::io::Write as _;
|
||||
|
||||
// --- tests ---
|
||||
|
||||
@@ -134,14 +133,20 @@ fn test_log(harmless: String, password: String, encrypted_password: String) {
|
||||
trace!("message = {:#?}", t1); // $ MISSING: Alert[rust/cleartext-logging]=t1
|
||||
|
||||
// logging from a struct
|
||||
let s1 = MyStruct1 { harmless: "foo".to_string(), password: "123456".to_string() }; // $ MISSING: Source=s1
|
||||
let s1 = MyStruct1 {
|
||||
harmless: "foo".to_string(),
|
||||
password: "123456".to_string(), // $ MISSING: Source=s1
|
||||
};
|
||||
warn!("message = {}", s1.harmless);
|
||||
warn!("message = {}", s1.password); // $ Alert[rust/cleartext-logging]
|
||||
warn!("message = {}", s1); // $ MISSING: Alert[rust/cleartext-logging]=s1
|
||||
warn!("message = {:?}", s1); // $ MISSING: Alert[rust/cleartext-logging]=s1
|
||||
warn!("message = {:#?}", s1); // $ MISSING: Alert[rust/cleartext-logging]=s1
|
||||
|
||||
let s2 = MyStruct2 { harmless: "foo".to_string(), password: "123456".to_string() }; // $ MISSING: Source=s2
|
||||
let s2 = MyStruct2 {
|
||||
harmless: "foo".to_string(),
|
||||
password: "123456".to_string(), // $ MISSING: Source=s2
|
||||
};
|
||||
warn!("message = {}", s2.harmless);
|
||||
warn!("message = {}", s2.password); // $ Alert[rust/cleartext-logging]
|
||||
warn!("message = {}", s2); // (this implementation does not output the password field)
|
||||
@@ -175,8 +180,8 @@ fn test_log(harmless: String, password: String, encrypted_password: String) {
|
||||
let _ = err_result.log_expect(&format!("Failed with password: {}", password2)); // $ Alert[rust/cleartext-logging]
|
||||
|
||||
// test `log_expect` with sensitive `Result.Err`
|
||||
let err_result2: Result<String, String> = Err(password2.clone());
|
||||
let _ = err_result2.log_expect(""); // $ MISSING: Alert[rust/cleartext-logging]
|
||||
let err_result2: Result<String, String> = Err(password2.clone()); // $ Source=s3
|
||||
let _ = err_result2.log_expect(""); // $ Alert[rust/cleartext-logging]=s3
|
||||
|
||||
// test `log_unwrap` with sensitive `Result.Err`
|
||||
let err_result3: Result<String, String> = Err(password2); // $ Source=err_result3
|
||||
@@ -190,24 +195,54 @@ fn test_std(password: String, i: i32, opt_i: Option<i32>) {
|
||||
eprintln!("message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
|
||||
match i {
|
||||
1 => { panic!("message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
2 => { todo!("message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
3 => { unimplemented!("message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
4 => { unreachable!("message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
5 => { assert!(false, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
6 => { assert_eq!(1, 2, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
7 => { assert_ne!(1, 1, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
8 => { debug_assert!(false, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
9 => { debug_assert_eq!(1, 2, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
10 => { debug_assert_ne!(1, 1, "message = {}", password); } // $ Alert[rust/cleartext-logging]
|
||||
11 => { _ = opt_i.expect(format!("message = {}", password).as_str()); } // $ Alert[rust/cleartext-logging]
|
||||
1 => {
|
||||
panic!("message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
2 => {
|
||||
todo!("message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
3 => {
|
||||
unimplemented!("message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
4 => {
|
||||
unreachable!("message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
5 => {
|
||||
assert!(false, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
6 => {
|
||||
assert_eq!(1, 2, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
7 => {
|
||||
assert_ne!(1, 1, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
8 => {
|
||||
debug_assert!(false, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
9 => {
|
||||
debug_assert_eq!(1, 2, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
10 => {
|
||||
debug_assert_ne!(1, 1, "message = {}", password); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
11 => {
|
||||
_ = opt_i.expect(format!("message = {}", password).as_str()); // $ Alert[rust/cleartext-logging]
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
std::io::stdout().lock().write_fmt(format_args!("message = {}\n", password)); // $ MISSING: Alert[rust/cleartext-logging]
|
||||
std::io::stderr().lock().write_fmt(format_args!("message = {}\n", password)); // $ MISSING: Alert[rust/cleartext-logging]
|
||||
std::io::stdout().lock().write(format!("message = {}\n", password).as_bytes()); // $ Alert[rust/cleartext-logging]
|
||||
std::io::stdout().lock().write_all(format!("message = {}\n", password).as_bytes()); // $ Alert[rust/cleartext-logging]
|
||||
std::io::stdout()
|
||||
.lock()
|
||||
.write_fmt(format_args!("message = {}\n", password)); // $ MISSING: Alert[rust/cleartext-logging]
|
||||
std::io::stderr()
|
||||
.lock()
|
||||
.write_fmt(format_args!("message = {}\n", password)); // $ MISSING: Alert[rust/cleartext-logging]
|
||||
std::io::stdout()
|
||||
.lock()
|
||||
.write(format!("message = {}\n", password).as_bytes()); // $ Alert[rust/cleartext-logging]
|
||||
std::io::stdout()
|
||||
.lock()
|
||||
.write_all(format!("message = {}\n", password).as_bytes()); // $ Alert[rust/cleartext-logging]
|
||||
|
||||
let mut out = std::io::stdout().lock();
|
||||
out.write(format!("message = {}\n", password).as_bytes()); // $ Alert[rust/cleartext-logging]
|
||||
@@ -219,6 +254,10 @@ fn test_std(password: String, i: i32, opt_i: Option<i32>) {
|
||||
fn main() {
|
||||
simple_logger::SimpleLogger::new().init().unwrap();
|
||||
|
||||
test_log("harmless".to_string(), "123456".to_string(), "[encrypted]".to_string());
|
||||
test_log(
|
||||
"harmless".to_string(),
|
||||
"123456".to_string(),
|
||||
"[encrypted]".to_string(),
|
||||
);
|
||||
test_std("123456".to_string(), 0, None);
|
||||
}
|
||||
|
||||
@@ -13,3 +13,7 @@ multiplePathResolutions
|
||||
| main.rs:223:13:223:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) |
|
||||
| main.rs:224:13:224:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) |
|
||||
| main.rs:224:13:224:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) |
|
||||
| main.rs:229:13:229:37 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity |
|
||||
| main.rs:229:13:229:37 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity |
|
||||
| main.rs:233:18:233:42 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity |
|
||||
| main.rs:233:18:233:42 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity |
|
||||
|
||||
@@ -9,3 +9,17 @@ multiplePathResolutions
|
||||
| deallocation.rs:112:3:112:12 | ...::free | file://:0:0:0:0 | fn free |
|
||||
| deallocation.rs:112:29:112:32 | libc | file://:0:0:0:0 | Crate(libc@0.2.171) |
|
||||
| deallocation.rs:112:29:112:32 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| lifetime.rs:415:32:415:49 | ...::clone | file://:0:0:0:0 | fn clone |
|
||||
| lifetime.rs:415:32:415:49 | ...::clone | file://:0:0:0:0 | fn clone |
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
multiplePathResolutions
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from |
|
||||
Reference in New Issue
Block a user