mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge pull request #19474 from hvitved/rust/builtins-resolution
Rust: Type inference and path resolution for builtins
This commit is contained in:
@@ -76,7 +76,14 @@ module Impl {
|
||||
/**
|
||||
* A number literal.
|
||||
*/
|
||||
abstract class NumberLiteralExpr extends LiteralExpr { }
|
||||
abstract class NumberLiteralExpr extends LiteralExpr {
|
||||
/**
|
||||
* Get the suffix of this number literal, if any.
|
||||
*
|
||||
* For example, `42u8` has the suffix `u8`.
|
||||
*/
|
||||
abstract string getSuffix();
|
||||
}
|
||||
|
||||
// https://doc.rust-lang.org/reference/tokens.html#integer-literals
|
||||
private module IntegerLiteralRegexs {
|
||||
@@ -126,12 +133,7 @@ module Impl {
|
||||
class IntegerLiteralExpr extends NumberLiteralExpr {
|
||||
IntegerLiteralExpr() { this.getTextValue().regexpMatch(IntegerLiteralRegexs::integerLiteral()) }
|
||||
|
||||
/**
|
||||
* Get the suffix of this integer literal, if any.
|
||||
*
|
||||
* For example, `42u8` has the suffix `u8`.
|
||||
*/
|
||||
string getSuffix() {
|
||||
override string getSuffix() {
|
||||
exists(string s, string reg |
|
||||
s = this.getTextValue() and
|
||||
reg = IntegerLiteralRegexs::integerLiteral() and
|
||||
@@ -193,12 +195,7 @@ module Impl {
|
||||
not this instanceof IntegerLiteralExpr
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the suffix of this floating-point literal, if any.
|
||||
*
|
||||
* For example, `42.0f32` has the suffix `f32`.
|
||||
*/
|
||||
string getSuffix() {
|
||||
override string getSuffix() {
|
||||
exists(string s, string reg |
|
||||
reg =
|
||||
IntegerLiteralRegexs::paren(FloatLiteralRegexs::floatLiteralSuffix1()) + "|" +
|
||||
|
||||
117
rust/ql/lib/codeql/rust/frameworks/stdlib/Bultins.qll
Normal file
117
rust/ql/lib/codeql/rust/frameworks/stdlib/Bultins.qll
Normal file
@@ -0,0 +1,117 @@
|
||||
/**
|
||||
* Provides classes for builtins.
|
||||
*/
|
||||
|
||||
private import rust
|
||||
|
||||
/** The folder containing builtins. */
|
||||
class BuiltinsFolder extends Folder {
|
||||
BuiltinsFolder() {
|
||||
this.getBaseName() = "builtins" and
|
||||
this.getParentContainer().getBaseName() = "tools"
|
||||
}
|
||||
}
|
||||
|
||||
private class BuiltinsTypesFile extends File {
|
||||
BuiltinsTypesFile() {
|
||||
this.getBaseName() = "types.rs" and
|
||||
this.getParentContainer() instanceof BuiltinsFolder
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A builtin type, such as `bool` and `i32`.
|
||||
*
|
||||
* Builtin types are represented as structs.
|
||||
*/
|
||||
class BuiltinType extends Struct {
|
||||
BuiltinType() { this.getFile() instanceof BuiltinsTypesFile }
|
||||
|
||||
/** Gets the name of this type. */
|
||||
string getName() { result = super.getName().getText() }
|
||||
}
|
||||
|
||||
/** The builtin `bool` type. */
|
||||
class Bool extends BuiltinType {
|
||||
Bool() { this.getName() = "bool" }
|
||||
}
|
||||
|
||||
/** The builtin `char` type. */
|
||||
class Char extends BuiltinType {
|
||||
Char() { this.getName() = "char" }
|
||||
}
|
||||
|
||||
/** The builtin `str` type. */
|
||||
class Str extends BuiltinType {
|
||||
Str() { this.getName() = "str" }
|
||||
}
|
||||
|
||||
/** The builtin `i8` type. */
|
||||
class I8 extends BuiltinType {
|
||||
I8() { this.getName() = "i8" }
|
||||
}
|
||||
|
||||
/** The builtin `i16` type. */
|
||||
class I16 extends BuiltinType {
|
||||
I16() { this.getName() = "i16" }
|
||||
}
|
||||
|
||||
/** The builtin `i32` type. */
|
||||
class I32 extends BuiltinType {
|
||||
I32() { this.getName() = "i32" }
|
||||
}
|
||||
|
||||
/** The builtin `i64` type. */
|
||||
class I64 extends BuiltinType {
|
||||
I64() { this.getName() = "i64" }
|
||||
}
|
||||
|
||||
/** The builtin `i128` type. */
|
||||
class I128 extends BuiltinType {
|
||||
I128() { this.getName() = "i128" }
|
||||
}
|
||||
|
||||
/** The builtin `u8` type. */
|
||||
class U8 extends BuiltinType {
|
||||
U8() { this.getName() = "u8" }
|
||||
}
|
||||
|
||||
/** The builtin `u16` type. */
|
||||
class U16 extends BuiltinType {
|
||||
U16() { this.getName() = "u16" }
|
||||
}
|
||||
|
||||
/** The builtin `u32` type. */
|
||||
class U32 extends BuiltinType {
|
||||
U32() { this.getName() = "u32" }
|
||||
}
|
||||
|
||||
/** The builtin `u64` type. */
|
||||
class U64 extends BuiltinType {
|
||||
U64() { this.getName() = "u64" }
|
||||
}
|
||||
|
||||
/** The builtin `u128` type. */
|
||||
class U128 extends BuiltinType {
|
||||
U128() { this.getName() = "u128" }
|
||||
}
|
||||
|
||||
/** The builtin `usize` type. */
|
||||
class Usize extends BuiltinType {
|
||||
Usize() { this.getName() = "usize" }
|
||||
}
|
||||
|
||||
/** The builtin `isize` type. */
|
||||
class Isize extends BuiltinType {
|
||||
Isize() { this.getName() = "isize" }
|
||||
}
|
||||
|
||||
/** The builtin `f32` type. */
|
||||
class F32 extends BuiltinType {
|
||||
F32() { this.getName() = "f32" }
|
||||
}
|
||||
|
||||
/** The builtin `f64` type. */
|
||||
class F64 extends BuiltinType {
|
||||
F64() { this.getName() = "f64" }
|
||||
}
|
||||
@@ -180,6 +180,8 @@ abstract class ItemNode extends Locatable {
|
||||
or
|
||||
preludeEdge(this, name, result) and not declares(this, _, name)
|
||||
or
|
||||
builtinEdge(this, name, result)
|
||||
or
|
||||
name = "super" and
|
||||
if this instanceof Module or this instanceof SourceFile
|
||||
then result = this.getImmediateParentModule()
|
||||
@@ -1184,6 +1186,21 @@ private predicate preludeEdge(SourceFile f, string name, ItemNode i) {
|
||||
)
|
||||
}
|
||||
|
||||
private import codeql.rust.frameworks.stdlib.Bultins as Builtins
|
||||
|
||||
pragma[nomagic]
|
||||
private predicate builtinEdge(ModuleLikeNode m, string name, ItemNode i) {
|
||||
(
|
||||
m instanceof SourceFile
|
||||
or
|
||||
m = any(CrateItemNode c).getModuleNode()
|
||||
) and
|
||||
exists(SourceFileItemNode builtins |
|
||||
builtins.getFile().getParentContainer() instanceof Builtins::BuiltinsFolder and
|
||||
i = builtins.getASuccessorRec(name)
|
||||
)
|
||||
}
|
||||
|
||||
/** Provides predicates for debugging the path resolution implementation. */
|
||||
private module Debug {
|
||||
private Locatable getRelevantLocatable() {
|
||||
|
||||
@@ -885,6 +885,36 @@ private Type inferTryExprType(TryExpr te, TypePath path) {
|
||||
)
|
||||
}
|
||||
|
||||
private import codeql.rust.frameworks.stdlib.Bultins as Builtins
|
||||
|
||||
pragma[nomagic]
|
||||
private StructType inferLiteralType(LiteralExpr le) {
|
||||
exists(Builtins::BuiltinType t | result = TStruct(t) |
|
||||
le instanceof CharLiteralExpr and
|
||||
t instanceof Builtins::Char
|
||||
or
|
||||
le instanceof StringLiteralExpr and
|
||||
t instanceof Builtins::Str
|
||||
or
|
||||
le =
|
||||
any(NumberLiteralExpr ne |
|
||||
t.getName() = ne.getSuffix()
|
||||
or
|
||||
not exists(ne.getSuffix()) and
|
||||
(
|
||||
ne instanceof IntegerLiteralExpr and
|
||||
t instanceof Builtins::I32
|
||||
or
|
||||
ne instanceof FloatLiteralExpr and
|
||||
t instanceof Builtins::F64
|
||||
)
|
||||
)
|
||||
or
|
||||
le instanceof BooleanLiteralExpr and
|
||||
t instanceof Builtins::Bool
|
||||
)
|
||||
}
|
||||
|
||||
cached
|
||||
private module Cached {
|
||||
private import codeql.rust.internal.CachedStages
|
||||
@@ -1026,6 +1056,9 @@ private module Cached {
|
||||
result = inferRefExprType(n, path)
|
||||
or
|
||||
result = inferTryExprType(n, path)
|
||||
or
|
||||
result = inferLiteralType(n) and
|
||||
path.isEmpty()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
multiplePathResolutions
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from |
|
||||
@@ -3,8 +3,9 @@ models
|
||||
| 2 | Summary: lang:core; <crate::option::Option>::unwrap; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value |
|
||||
| 3 | Summary: lang:core; <crate::option::Option>::zip; Argument[0].Field[crate::option::Option::Some(0)]; ReturnValue.Field[crate::option::Option::Some(0)].Field[1]; value |
|
||||
| 4 | Summary: lang:core; <crate::result::Result>::unwrap; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value |
|
||||
| 5 | Summary: lang:core; crate::ptr::read; Argument[0].Reference; ReturnValue; value |
|
||||
| 6 | Summary: lang:core; crate::ptr::write; Argument[1]; Argument[0].Reference; value |
|
||||
| 5 | Summary: lang:core; <i64 as crate::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value |
|
||||
| 6 | Summary: lang:core; crate::ptr::read; Argument[0].Reference; ReturnValue; value |
|
||||
| 7 | Summary: lang:core; crate::ptr::write; Argument[1]; Argument[0].Reference; value |
|
||||
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:13 | a [Some] | provenance | |
|
||||
@@ -22,7 +23,12 @@ edges
|
||||
| main.rs:21:13:21:13 | a [Ok] | main.rs:21:13:21:21 | a.clone() [Ok] | provenance | generated |
|
||||
| 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:13 | a | provenance | |
|
||||
| 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:13 | a | main.rs:28:13:28:21 | a.clone() | provenance | MaD:5 |
|
||||
| main.rs:28:13:28:13 | a | main.rs:28:13:28:21 | a.clone() | provenance | generated |
|
||||
| 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 | |
|
||||
@@ -47,8 +53,8 @@ edges
|
||||
| main.rs:61:18:61:23 | TuplePat [tuple.1] | main.rs:61:22:61:22 | m | provenance | |
|
||||
| main.rs:61:22:61:22 | m | main.rs:63:22:63:22 | m | provenance | |
|
||||
| main.rs:84:29:84:29 | [post] y [&ref] | main.rs:85:33:85:33 | y [&ref] | provenance | |
|
||||
| main.rs:84:32:84:41 | source(...) | main.rs:84:29:84:29 | [post] y [&ref] | provenance | MaD:6 |
|
||||
| main.rs:85:33:85:33 | y [&ref] | main.rs:85:18:85:34 | ...::read(...) | provenance | MaD:5 |
|
||||
| main.rs:84:32:84:41 | source(...) | main.rs:84:29:84:29 | [post] y [&ref] | provenance | MaD:7 |
|
||||
| main.rs:85:33:85:33 | y [&ref] | main.rs:85:18:85:34 | ...::read(...) | provenance | MaD:6 |
|
||||
nodes
|
||||
| main.rs:12:9:12:9 | a [Some] | semmle.label | a [Some] |
|
||||
| main.rs:12:13:12:28 | Some(...) [Some] | semmle.label | Some(...) [Some] |
|
||||
@@ -69,6 +75,10 @@ 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:13 | a | semmle.label | a |
|
||||
| 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(...) |
|
||||
@@ -106,6 +116,7 @@ testFailures
|
||||
| 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(...) |
|
||||
|
||||
@@ -26,7 +26,7 @@ fn i64_clone() {
|
||||
let a = source(12);
|
||||
sink(a); // $ hasValueFlow=12
|
||||
let b = a.clone();
|
||||
sink(b); // $ MISSING: hasValueFlow=12 - lack of builtins means that we cannot resolve clone call above, and hence not insert implicit borrow
|
||||
sink(b); // $ hasValueFlow=12
|
||||
}
|
||||
|
||||
mod my_clone {
|
||||
|
||||
@@ -75,7 +75,7 @@ fn i() {
|
||||
|
||||
{
|
||||
struct Foo {
|
||||
x: i32,
|
||||
x: i32, // $ item=i32
|
||||
} // I30
|
||||
|
||||
let _ = Foo { x: 0 }; // $ item=I30
|
||||
@@ -121,9 +121,13 @@ mod m6 {
|
||||
|
||||
mod m7 {
|
||||
pub enum MyEnum {
|
||||
A(i32), // I42
|
||||
B { x: i32 }, // I43
|
||||
C, // I44
|
||||
A(
|
||||
i32, // $ item=i32
|
||||
), // I42
|
||||
B {
|
||||
x: i32, // $ item=i32
|
||||
}, // I43
|
||||
C, // I44
|
||||
} // I41
|
||||
|
||||
#[rustfmt::skip]
|
||||
|
||||
@@ -25,9 +25,9 @@ type Result<
|
||||
>; // my::Result
|
||||
|
||||
fn int_div(
|
||||
x: i32, //
|
||||
y: i32,
|
||||
) -> Result<i32> // $ item=my::Result
|
||||
x: i32, // $ item=i32
|
||||
y: i32, // $ item=i32
|
||||
) -> Result<i32> // $ item=my::Result $ item=i32
|
||||
{
|
||||
if y == 0 {
|
||||
return Err("Div by zero".to_string());
|
||||
|
||||
@@ -9,26 +9,26 @@ mod
|
||||
| main.rs:39:1:46:1 | mod m4 |
|
||||
| main.rs:103:1:107:1 | mod m5 |
|
||||
| main.rs:109:1:120:1 | mod m6 |
|
||||
| main.rs:122:1:137:1 | mod m7 |
|
||||
| main.rs:139:1:193:1 | mod m8 |
|
||||
| main.rs:195:1:203:1 | mod m9 |
|
||||
| main.rs:205:1:224:1 | mod m10 |
|
||||
| main.rs:226:1:263:1 | mod m11 |
|
||||
| main.rs:236:5:236:12 | mod f |
|
||||
| main.rs:265:1:277:1 | mod m12 |
|
||||
| main.rs:279:1:292:1 | mod m13 |
|
||||
| main.rs:283:5:291:5 | mod m14 |
|
||||
| main.rs:294:1:348:1 | mod m15 |
|
||||
| main.rs:350:1:442:1 | mod m16 |
|
||||
| main.rs:444:1:474:1 | mod m17 |
|
||||
| main.rs:476:1:494:1 | mod m18 |
|
||||
| main.rs:481:5:493:5 | mod m19 |
|
||||
| main.rs:486:9:492:9 | mod m20 |
|
||||
| main.rs:496:1:521:1 | mod m21 |
|
||||
| main.rs:497:5:503:5 | mod m22 |
|
||||
| main.rs:505:5:520:5 | mod m33 |
|
||||
| main.rs:523:1:548:1 | mod m23 |
|
||||
| main.rs:550:1:618:1 | mod m24 |
|
||||
| main.rs:122:1:141:1 | mod m7 |
|
||||
| main.rs:143:1:197:1 | mod m8 |
|
||||
| main.rs:199:1:207:1 | mod m9 |
|
||||
| main.rs:209:1:228:1 | mod m10 |
|
||||
| main.rs:230:1:267:1 | mod m11 |
|
||||
| main.rs:240:5:240:12 | mod f |
|
||||
| main.rs:269:1:281:1 | mod m12 |
|
||||
| main.rs:283:1:296:1 | mod m13 |
|
||||
| main.rs:287:5:295:5 | mod m14 |
|
||||
| main.rs:298:1:352:1 | mod m15 |
|
||||
| main.rs:354:1:446:1 | mod m16 |
|
||||
| main.rs:448:1:478:1 | mod m17 |
|
||||
| main.rs:480:1:498:1 | mod m18 |
|
||||
| main.rs:485:5:497:5 | mod m19 |
|
||||
| main.rs:490:9:496:9 | mod m20 |
|
||||
| main.rs:500:1:525:1 | mod m21 |
|
||||
| main.rs:501:5:507:5 | mod m22 |
|
||||
| main.rs:509:5:524:5 | mod m33 |
|
||||
| main.rs:527:1:552:1 | mod m23 |
|
||||
| main.rs:554:1:622:1 | mod m24 |
|
||||
| my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
| my2/mod.rs:12:1:12:12 | mod my3 |
|
||||
| my2/mod.rs:14:1:15:10 | mod mymod |
|
||||
@@ -62,7 +62,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:649:2 | SourceFile |
|
||||
| main.rs:40:9:40:13 | super | main.rs:1:1:653: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 |
|
||||
@@ -74,9 +74,10 @@ 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:649:2 | SourceFile |
|
||||
| main.rs:68:5:68:8 | self | main.rs:1:1:653: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 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| main.rs:81:17:81:19 | Foo | main.rs:77:9:79:9 | struct Foo |
|
||||
| main.rs:85:5:85:7 | my2 | main.rs:7:1:7:8 | mod my2 |
|
||||
| main.rs:85:5:85:16 | ...::nested2 | my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
@@ -88,241 +89,243 @@ 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:649:2 | SourceFile |
|
||||
| main.rs:117:13:117:17 | super | main.rs:1:1:653: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 |
|
||||
| main.rs:130:19:130:24 | MyEnum | main.rs:123:5:127:5 | enum MyEnum |
|
||||
| main.rs:133:17:133:22 | MyEnum | main.rs:123:5:127:5 | enum MyEnum |
|
||||
| main.rs:133:17:133:25 | ...::A | main.rs:124:9:124:14 | A |
|
||||
| main.rs:134:17:134:22 | MyEnum | main.rs:123:5:127:5 | enum MyEnum |
|
||||
| main.rs:134:17:134:25 | ...::B | main.rs:124:23:125:20 | B |
|
||||
| main.rs:135:9:135:14 | MyEnum | main.rs:123:5:127:5 | enum MyEnum |
|
||||
| main.rs:135:9:135:17 | ...::C | main.rs:125:23:126:9 | C |
|
||||
| main.rs:145:13:145:13 | f | main.rs:152:5:154:5 | fn f |
|
||||
| main.rs:146:13:146:16 | Self | main.rs:140:5:148:5 | trait MyTrait |
|
||||
| main.rs:146:13:146:19 | ...::f | main.rs:141:9:141:20 | fn f |
|
||||
| main.rs:157:10:157:16 | MyTrait | main.rs:140:5:148:5 | trait MyTrait |
|
||||
| main.rs:157:22:157:29 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:160:13:160:13 | f | main.rs:152:5:154:5 | fn f |
|
||||
| main.rs:161:13:161:16 | Self | main.rs:156:5:167:5 | impl MyTrait for MyStruct { ... } |
|
||||
| main.rs:161:13:161:19 | ...::g | main.rs:164:9:166:9 | fn g |
|
||||
| main.rs:170:10:170:17 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:173:13:173:13 | f | main.rs:152:5:154:5 | fn f |
|
||||
| main.rs:179:17:179:24 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:180:9:180:15 | MyTrait | main.rs:140:5:148:5 | trait MyTrait |
|
||||
| main.rs:180:9:180:18 | ...::f | main.rs:141:9:141:20 | fn f |
|
||||
| main.rs:181:9:181:16 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:181:9:181:19 | ...::f | main.rs:157:33:162:9 | fn f |
|
||||
| main.rs:182:10:182:17 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:183:10:183:16 | MyTrait | main.rs:140:5:148:5 | trait MyTrait |
|
||||
| main.rs:186:17:186:24 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:188:17:188:24 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:190:9:190:16 | MyStruct | main.rs:150:5:150:22 | struct MyStruct |
|
||||
| main.rs:190:9:190:19 | ...::h | main.rs:170:21:174:9 | fn h |
|
||||
| main.rs:199:19:199:22 | self | main.rs:195:1:203:1 | mod m9 |
|
||||
| main.rs:199:19:199:32 | ...::MyStruct | main.rs:196:5:196:26 | struct MyStruct |
|
||||
| main.rs:201:9:201:12 | self | main.rs:195:1:203:1 | mod m9 |
|
||||
| main.rs:201:9:201:22 | ...::MyStruct | main.rs:196:5:196:26 | struct MyStruct |
|
||||
| main.rs:211:12:211:12 | T | main.rs:208:7:208:7 | T |
|
||||
| main.rs:216:12:216:12 | T | main.rs:215:14:215:14 | T |
|
||||
| main.rs:218:7:220:7 | MyStruct::<...> | main.rs:206:5:212:5 | struct MyStruct |
|
||||
| main.rs:219:9:219:9 | T | main.rs:215:14:215:14 | T |
|
||||
| main.rs:222:9:222:16 | MyStruct | main.rs:206:5:212:5 | struct MyStruct |
|
||||
| main.rs:232:17:232:19 | Foo | main.rs:227:5:227:21 | struct Foo |
|
||||
| main.rs:233:9:233:11 | Foo | main.rs:229:5:229:15 | fn Foo |
|
||||
| main.rs:242:9:242:11 | Bar | main.rs:238:5:240:5 | enum Bar |
|
||||
| main.rs:242:9:242:19 | ...::FooBar | main.rs:239:9:239:17 | FooBar |
|
||||
| main.rs:247:13:247:15 | Foo | main.rs:227:5:227:21 | struct Foo |
|
||||
| main.rs:248:17:248:22 | FooBar | main.rs:239:9:239:17 | FooBar |
|
||||
| main.rs:249:17:249:22 | FooBar | main.rs:244:5:244:18 | fn FooBar |
|
||||
| main.rs:257:9:257:9 | E | main.rs:252:15:255:5 | enum E |
|
||||
| main.rs:257:9:257:12 | ...::C | main.rs:254:9:254:9 | C |
|
||||
| main.rs:260:17:260:17 | S | main.rs:252:5:252:13 | struct S |
|
||||
| main.rs:261:17:261:17 | C | main.rs:254:9:254:9 | C |
|
||||
| main.rs:274:16:274:16 | T | main.rs:268:7:268:7 | T |
|
||||
| main.rs:275:14:275:17 | Self | main.rs:266:5:276:5 | trait MyParamTrait |
|
||||
| main.rs:275:14:275:33 | ...::AssociatedType | main.rs:270:9:270:28 | type AssociatedType |
|
||||
| main.rs:284:13:284:17 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:284:13:284:22 | ...::m13 | main.rs:279:1:292:1 | mod m13 |
|
||||
| main.rs:284:13:284:25 | ...::f | main.rs:280:5:280:17 | fn f |
|
||||
| main.rs:284:13:284:25 | ...::f | main.rs:280:19:281:19 | struct f |
|
||||
| main.rs:287:17:287:17 | f | main.rs:280:19:281:19 | struct f |
|
||||
| main.rs:288:21:288:21 | f | main.rs:280:19:281:19 | struct f |
|
||||
| main.rs:289:13:289:13 | f | main.rs:280:5:280:17 | fn f |
|
||||
| main.rs:303:9:303:14 | Trait1 | main.rs:295:5:299:5 | trait Trait1 |
|
||||
| main.rs:306:13:306:16 | Self | main.rs:301:5:309:5 | trait Trait2 |
|
||||
| main.rs:306:13:306:19 | ...::g | main.rs:298:9:298:20 | fn g |
|
||||
| main.rs:314:10:314:15 | Trait1 | main.rs:295:5:299:5 | trait Trait1 |
|
||||
| main.rs:315:11:315:11 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:318:13:318:16 | Self | main.rs:313:5:325:5 | impl Trait1 for S { ... } |
|
||||
| main.rs:318:13:318:19 | ...::g | main.rs:322:9:324:9 | fn g |
|
||||
| main.rs:328:10:328:15 | Trait2 | main.rs:301:5:309:5 | trait Trait2 |
|
||||
| main.rs:329:11:329:11 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:338:17:338:17 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:339:10:339:10 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:340:14:340:19 | Trait1 | main.rs:295:5:299:5 | trait Trait1 |
|
||||
| main.rs:342:10:342:10 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:343:14:343:19 | Trait2 | main.rs:301:5:309:5 | trait Trait2 |
|
||||
| main.rs:345:9:345:9 | S | main.rs:311:5:311:13 | struct S |
|
||||
| main.rs:345:9:345:12 | ...::g | main.rs:322:9:324:9 | fn g |
|
||||
| main.rs:355:24:355:24 | T | main.rs:353:7:353:7 | T |
|
||||
| main.rs:357:24:357:24 | T | main.rs:353:7:353:7 | T |
|
||||
| main.rs:360:24:360:24 | T | main.rs:353:7:353:7 | T |
|
||||
| main.rs:361:13:361:16 | Self | main.rs:351:5:367:5 | trait Trait1 |
|
||||
| main.rs:361:13:361:19 | ...::g | main.rs:357:9:358:9 | fn g |
|
||||
| main.rs:365:18:365:18 | T | main.rs:353:7:353:7 | T |
|
||||
| main.rs:373:9:375:9 | Trait1::<...> | main.rs:351:5:367:5 | trait Trait1 |
|
||||
| main.rs:374:11:374:11 | T | main.rs:371:7:371:7 | T |
|
||||
| main.rs:376:24:376:24 | T | main.rs:371:7:371:7 | T |
|
||||
| main.rs:378:13:378:16 | Self | main.rs:369:5:382:5 | trait Trait2 |
|
||||
| main.rs:378:13:378:19 | ...::g | main.rs:357:9:358:9 | fn g |
|
||||
| main.rs:380:13:380:16 | Self | main.rs:369:5:382:5 | trait Trait2 |
|
||||
| main.rs:380:13:380:19 | ...::c | main.rs:365:9:366:9 | Const |
|
||||
| main.rs:387:10:389:5 | Trait1::<...> | main.rs:351:5:367:5 | trait Trait1 |
|
||||
| main.rs:388:7:388:7 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:390:11:390:11 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:391:24:391:24 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:393:13:393:16 | Self | main.rs:386:5:404:5 | impl Trait1::<...> for S { ... } |
|
||||
| main.rs:393:13:393:19 | ...::g | main.rs:397:9:400:9 | fn g |
|
||||
| main.rs:397:24:397:24 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:399:13:399:16 | Self | main.rs:386:5:404:5 | impl Trait1::<...> for S { ... } |
|
||||
| main.rs:399:13:399:19 | ...::c | main.rs:402:9:403:9 | Const |
|
||||
| main.rs:402:18:402:18 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:402:22:402:22 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:407:10:409:5 | Trait2::<...> | main.rs:369:5:382:5 | trait Trait2 |
|
||||
| main.rs:408:7:408:7 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:410:11:410:11 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:411:24:411:24 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:413:13:413:16 | Self | main.rs:406:5:415:5 | impl Trait2::<...> for S { ... } |
|
||||
| main.rs:420:17:420:17 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:421:10:421:10 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:422:14:424:11 | Trait1::<...> | main.rs:351:5:367:5 | trait Trait1 |
|
||||
| main.rs:423:13:423:13 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:426:10:426:10 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:427:14:429:11 | Trait2::<...> | main.rs:369:5:382:5 | trait Trait2 |
|
||||
| main.rs:428:13:428:13 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:431:9:431:9 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:431:9:431:12 | ...::g | main.rs:397:9:400:9 | fn g |
|
||||
| main.rs:433:9:433:9 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:433:9:433:12 | ...::h | main.rs:360:9:363:9 | fn h |
|
||||
| main.rs:435:9:435:9 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:435:9:435:12 | ...::c | main.rs:402:9:403:9 | Const |
|
||||
| main.rs:436:10:436:10 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:437:14:439:11 | Trait1::<...> | main.rs:351:5:367:5 | trait Trait1 |
|
||||
| main.rs:438:13:438:13 | S | main.rs:384:5:384:13 | struct S |
|
||||
| main.rs:452:10:452:16 | MyTrait | main.rs:445:5:447:5 | trait MyTrait |
|
||||
| main.rs:453:9:453:9 | S | main.rs:449:5:449:13 | struct S |
|
||||
| main.rs:461:7:461:13 | MyTrait | main.rs:445:5:447:5 | trait MyTrait |
|
||||
| main.rs:462:10:462:10 | T | main.rs:460:10:460:10 | T |
|
||||
| main.rs:464:9:464:9 | T | main.rs:460:10:460:10 | T |
|
||||
| main.rs:464:9:464:12 | ...::f | main.rs:446:9:446:20 | fn f |
|
||||
| main.rs:465:9:465:15 | MyTrait | main.rs:445:5:447:5 | trait MyTrait |
|
||||
| main.rs:465:9:465:18 | ...::f | main.rs:446:9:446:20 | fn f |
|
||||
| main.rs:470:9:470:9 | g | main.rs:459:5:466:5 | fn g |
|
||||
| main.rs:471:11:471:11 | S | main.rs:449:5:449:13 | struct S |
|
||||
| main.rs:489:17:489:21 | super | main.rs:481:5:493:5 | mod m19 |
|
||||
| main.rs:489:17:489:24 | ...::f | main.rs:482:9:484:9 | fn f |
|
||||
| main.rs:490:17:490:21 | super | main.rs:481:5:493:5 | mod m19 |
|
||||
| main.rs:490:17:490:28 | ...::super | main.rs:476:1:494:1 | mod m18 |
|
||||
| main.rs:490:17:490:31 | ...::f | main.rs:477:5:479:5 | fn f |
|
||||
| main.rs:507:13:507:17 | super | main.rs:496:1:521:1 | mod m21 |
|
||||
| main.rs:507:13:507:22 | ...::m22 | main.rs:497:5:503:5 | mod m22 |
|
||||
| main.rs:507:13:507:30 | ...::MyEnum | main.rs:498:9:500:9 | enum MyEnum |
|
||||
| main.rs:508:13:508:16 | self | main.rs:498:9:500:9 | enum MyEnum |
|
||||
| main.rs:512:13:512:17 | super | main.rs:496:1:521:1 | mod m21 |
|
||||
| main.rs:512:13:512:22 | ...::m22 | main.rs:497:5:503:5 | mod m22 |
|
||||
| main.rs:512:13:512:32 | ...::MyStruct | main.rs:502:9:502:28 | struct MyStruct |
|
||||
| main.rs:513:13:513:16 | self | main.rs:502:9:502:28 | struct MyStruct |
|
||||
| main.rs:517:21:517:26 | MyEnum | main.rs:498:9:500:9 | enum MyEnum |
|
||||
| main.rs:517:21:517:29 | ...::A | main.rs:499:13:499:13 | A |
|
||||
| main.rs:518:21:518:28 | MyStruct | main.rs:502:9:502:28 | struct MyStruct |
|
||||
| main.rs:534:10:536:5 | Trait1::<...> | main.rs:524:5:529:5 | trait Trait1 |
|
||||
| main.rs:535:7:535:10 | Self | main.rs:531:5:531:13 | struct S |
|
||||
| main.rs:537:11:537:11 | S | main.rs:531:5:531:13 | struct S |
|
||||
| main.rs:545:17:545:17 | S | main.rs:531:5:531:13 | struct S |
|
||||
| main.rs:561:15:561:15 | T | main.rs:560:26:560:26 | T |
|
||||
| main.rs:566:9:566:24 | GenericStruct::<...> | main.rs:559:5:562:5 | struct GenericStruct |
|
||||
| main.rs:566:23:566:23 | T | main.rs:565:10:565:10 | T |
|
||||
| main.rs:568:9:568:9 | T | main.rs:565:10:565:10 | T |
|
||||
| main.rs:568:12:568:17 | TraitA | main.rs:551:5:553:5 | trait TraitA |
|
||||
| main.rs:577:9:577:24 | GenericStruct::<...> | main.rs:559:5:562:5 | struct GenericStruct |
|
||||
| main.rs:577:23:577:23 | T | main.rs:576:10:576:10 | T |
|
||||
| main.rs:579:9:579:9 | T | main.rs:576:10:576:10 | T |
|
||||
| main.rs:579:12:579:17 | TraitB | main.rs:555:5:557:5 | trait TraitB |
|
||||
| main.rs:580:9:580:9 | T | main.rs:576:10:576:10 | T |
|
||||
| main.rs:580:12:580:17 | TraitA | main.rs:551:5:553:5 | trait TraitA |
|
||||
| main.rs:591:10:591:15 | TraitA | main.rs:551:5:553:5 | trait TraitA |
|
||||
| main.rs:591:21:591:31 | Implementor | main.rs:588:5:588:23 | struct Implementor |
|
||||
| main.rs:598:10:598:15 | TraitB | main.rs:555:5:557:5 | trait TraitB |
|
||||
| main.rs:598:21:598:31 | Implementor | main.rs:588:5:588:23 | struct Implementor |
|
||||
| main.rs:606:24:606:34 | Implementor | main.rs:588:5:588:23 | struct Implementor |
|
||||
| main.rs:607:23:607:35 | GenericStruct | main.rs:559:5:562:5 | struct GenericStruct |
|
||||
| main.rs:613:9:613:36 | GenericStruct::<...> | main.rs:559:5:562:5 | struct GenericStruct |
|
||||
| main.rs:613:9:613:50 | ...::call_trait_a | main.rs:570:9:572:9 | fn call_trait_a |
|
||||
| main.rs:613:25:613:35 | Implementor | main.rs:588:5:588:23 | struct Implementor |
|
||||
| main.rs:616:9:616:36 | GenericStruct::<...> | main.rs:559:5:562:5 | struct GenericStruct |
|
||||
| main.rs:616:9:616:47 | ...::call_both | main.rs:582:9:585:9 | fn call_both |
|
||||
| main.rs:616:25:616:35 | Implementor | main.rs:588:5:588:23 | struct Implementor |
|
||||
| main.rs:621:5:621:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:621:5:621:14 | ...::nested | my.rs:1:1:1:15 | mod nested |
|
||||
| main.rs:621:5:621:23 | ...::nested1 | my/nested.rs:1:1:17:1 | mod nested1 |
|
||||
| main.rs:621:5:621:32 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 |
|
||||
| main.rs:621:5:621:35 | ...::f | my/nested.rs:3:9:5:9 | fn f |
|
||||
| main.rs:622:5:622:6 | my | main.rs:1:1:1:7 | mod my |
|
||||
| main.rs:622:5:622:9 | ...::f | my.rs:5:1:7:1 | fn f |
|
||||
| main.rs:623:5:623:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 |
|
||||
| main.rs:623:5:623:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 |
|
||||
| main.rs:623:5:623:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 |
|
||||
| main.rs:623:5:623:32 | ...::f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:624:5:624:5 | f | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:625:5:625:5 | g | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:626:5:626:9 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) |
|
||||
| main.rs:626:5:626:12 | ...::h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:627:5:627:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:627:5:627:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:627:5:627:13 | ...::g | main.rs:23:9:27:9 | fn g |
|
||||
| main.rs:628:5:628:6 | m1 | main.rs:13:1:37:1 | mod m1 |
|
||||
| main.rs:628:5:628:10 | ...::m2 | main.rs:18:5:36:5 | mod m2 |
|
||||
| main.rs:628:5:628:14 | ...::m3 | main.rs:29:9:35:9 | mod m3 |
|
||||
| main.rs:628:5:628:17 | ...::h | main.rs:30:27:34:13 | fn h |
|
||||
| main.rs:629:5:629:6 | m4 | main.rs:39:1:46:1 | mod m4 |
|
||||
| main.rs:629:5:629:9 | ...::i | main.rs:42:5:45:5 | fn i |
|
||||
| main.rs:630:5:630:5 | h | main.rs:50:1:69:1 | fn h |
|
||||
| main.rs:631:5:631:11 | f_alias | my2/nested2.rs:3:9:5:9 | fn f |
|
||||
| main.rs:632:5:632:11 | g_alias | my2/nested2.rs:7:9:9:9 | fn g |
|
||||
| main.rs:633:5:633:5 | j | main.rs:97:1:101:1 | fn j |
|
||||
| main.rs:634:5:634:6 | m6 | main.rs:109:1:120:1 | mod m6 |
|
||||
| main.rs:634:5:634:9 | ...::g | main.rs:114:5:119:5 | fn g |
|
||||
| main.rs:635:5:635:6 | m7 | main.rs:122:1:137:1 | mod m7 |
|
||||
| main.rs:635:5:635:9 | ...::f | main.rs:129:5:136:5 | fn f |
|
||||
| main.rs:636:5:636:6 | m8 | main.rs:139:1:193:1 | mod m8 |
|
||||
| main.rs:636:5:636:9 | ...::g | main.rs:177:5:192:5 | fn g |
|
||||
| main.rs:637:5:637:6 | m9 | main.rs:195:1:203:1 | mod m9 |
|
||||
| main.rs:637:5:637:9 | ...::f | main.rs:198:5:202:5 | fn f |
|
||||
| main.rs:638:5:638:7 | m11 | main.rs:226:1:263:1 | mod m11 |
|
||||
| main.rs:638:5:638:10 | ...::f | main.rs:231:5:234:5 | fn f |
|
||||
| main.rs:639:5:639:7 | m15 | main.rs:294:1:348:1 | mod m15 |
|
||||
| main.rs:639:5:639:10 | ...::f | main.rs:335:5:347:5 | fn f |
|
||||
| main.rs:640:5:640:7 | m16 | main.rs:350:1:442:1 | mod m16 |
|
||||
| main.rs:640:5:640:10 | ...::f | main.rs:417:5:441:5 | fn f |
|
||||
| main.rs:641:5:641:7 | m17 | main.rs:444:1:474:1 | mod m17 |
|
||||
| main.rs:641:5:641:10 | ...::f | main.rs:468:5:473:5 | fn f |
|
||||
| main.rs:642:5:642:11 | nested6 | my2/nested2.rs:14:5:18:5 | mod nested6 |
|
||||
| main.rs:642:5:642:14 | ...::f | my2/nested2.rs:15:9:17:9 | fn f |
|
||||
| main.rs:643:5:643:11 | nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 |
|
||||
| main.rs:643:5:643:14 | ...::f | my2/nested2.rs:23:9:25:9 | fn f |
|
||||
| main.rs:644:5:644:7 | my3 | my2/mod.rs:12:1:12:12 | mod my3 |
|
||||
| main.rs:644:5:644:10 | ...::f | my2/my3/mod.rs:1:1:5:1 | fn f |
|
||||
| main.rs:645:5:645:12 | nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f |
|
||||
| main.rs:646:5:646:7 | m18 | main.rs:476:1:494:1 | mod m18 |
|
||||
| main.rs:646:5:646:12 | ...::m19 | main.rs:481:5:493:5 | mod m19 |
|
||||
| main.rs:646:5:646:17 | ...::m20 | main.rs:486:9:492:9 | mod m20 |
|
||||
| main.rs:646:5:646:20 | ...::g | main.rs:487:13:491:13 | fn g |
|
||||
| main.rs:647:5:647:7 | m23 | main.rs:523:1:548:1 | mod m23 |
|
||||
| main.rs:647:5:647:10 | ...::f | main.rs:543:5:547:5 | fn f |
|
||||
| main.rs:648:5:648:7 | m24 | main.rs:550:1:618:1 | mod m24 |
|
||||
| main.rs:648:5:648:10 | ...::f | main.rs:604:5:617:5 | fn f |
|
||||
| main.rs:125:13:125:15 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| main.rs:128:16:128:18 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| main.rs:134:19:134:24 | MyEnum | main.rs:123:5:131:5 | enum MyEnum |
|
||||
| main.rs:137:17:137:22 | MyEnum | main.rs:123:5:131:5 | enum MyEnum |
|
||||
| main.rs:137:17:137:25 | ...::A | main.rs:124:9:126:9 | A |
|
||||
| main.rs:138:17:138:22 | MyEnum | main.rs:123:5:131:5 | enum MyEnum |
|
||||
| main.rs:138:17:138:25 | ...::B | main.rs:126:12:129:9 | B |
|
||||
| main.rs:139:9:139:14 | MyEnum | main.rs:123:5:131:5 | enum MyEnum |
|
||||
| main.rs:139:9:139:17 | ...::C | main.rs:129:12:130:9 | C |
|
||||
| main.rs:149:13:149:13 | f | main.rs:156:5:158:5 | fn f |
|
||||
| main.rs:150:13:150:16 | Self | main.rs:144:5:152:5 | trait MyTrait |
|
||||
| main.rs:150:13:150:19 | ...::f | main.rs:145:9:145:20 | fn f |
|
||||
| main.rs:161:10:161:16 | MyTrait | main.rs:144:5:152:5 | trait MyTrait |
|
||||
| main.rs:161:22:161:29 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:164:13:164:13 | f | main.rs:156:5:158:5 | fn f |
|
||||
| main.rs:165:13:165:16 | Self | main.rs:160:5:171:5 | impl MyTrait for MyStruct { ... } |
|
||||
| main.rs:165:13:165:19 | ...::g | main.rs:168:9:170:9 | fn g |
|
||||
| main.rs:174:10:174:17 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:177:13:177:13 | f | main.rs:156:5:158:5 | fn f |
|
||||
| main.rs:183:17:183:24 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:184:9:184:15 | MyTrait | main.rs:144:5:152:5 | trait MyTrait |
|
||||
| main.rs:184:9:184:18 | ...::f | main.rs:145:9:145:20 | fn f |
|
||||
| main.rs:185:9:185:16 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:185:9:185:19 | ...::f | main.rs:161:33:166:9 | fn f |
|
||||
| main.rs:186:10:186:17 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:187:10:187:16 | MyTrait | main.rs:144:5:152:5 | trait MyTrait |
|
||||
| main.rs:190:17:190:24 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:192:17:192:24 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:194:9:194:16 | MyStruct | main.rs:154:5:154:22 | struct MyStruct |
|
||||
| main.rs:194:9:194:19 | ...::h | main.rs:174:21:178:9 | fn h |
|
||||
| main.rs:203:19:203:22 | self | main.rs:199:1:207:1 | mod m9 |
|
||||
| main.rs:203:19:203:32 | ...::MyStruct | main.rs:200:5:200:26 | struct MyStruct |
|
||||
| main.rs:205:9:205:12 | self | main.rs:199:1:207:1 | mod m9 |
|
||||
| main.rs:205:9:205:22 | ...::MyStruct | main.rs:200:5:200:26 | struct MyStruct |
|
||||
| main.rs:215:12:215:12 | T | main.rs:212:7:212:7 | T |
|
||||
| main.rs:220:12:220:12 | T | main.rs:219:14:219:14 | T |
|
||||
| main.rs:222:7:224:7 | MyStruct::<...> | main.rs:210:5:216:5 | struct MyStruct |
|
||||
| main.rs:223:9:223:9 | T | main.rs:219:14:219:14 | T |
|
||||
| main.rs:226:9:226:16 | MyStruct | main.rs:210:5:216:5 | struct MyStruct |
|
||||
| main.rs:236:17:236:19 | Foo | main.rs:231:5:231:21 | struct Foo |
|
||||
| main.rs:237:9:237:11 | Foo | main.rs:233:5:233:15 | fn Foo |
|
||||
| main.rs:246:9:246:11 | Bar | main.rs:242:5:244:5 | enum Bar |
|
||||
| main.rs:246:9:246:19 | ...::FooBar | main.rs:243:9:243:17 | FooBar |
|
||||
| main.rs:251:13:251:15 | Foo | main.rs:231:5:231:21 | struct Foo |
|
||||
| main.rs:252:17:252:22 | FooBar | main.rs:243:9:243:17 | FooBar |
|
||||
| main.rs:253:17:253:22 | FooBar | main.rs:248:5:248:18 | fn FooBar |
|
||||
| main.rs:261:9:261:9 | E | main.rs:256:15:259:5 | enum E |
|
||||
| main.rs:261:9:261:12 | ...::C | main.rs:258:9:258:9 | C |
|
||||
| main.rs:264:17:264:17 | S | main.rs:256:5:256:13 | struct S |
|
||||
| main.rs:265:17:265:17 | C | main.rs:258:9:258:9 | C |
|
||||
| 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: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 |
|
||||
| main.rs:307:9:307:14 | Trait1 | main.rs:299:5:303:5 | trait Trait1 |
|
||||
| main.rs:310:13:310:16 | Self | main.rs:305:5:313:5 | trait Trait2 |
|
||||
| main.rs:310:13:310:19 | ...::g | main.rs:302:9:302:20 | fn g |
|
||||
| main.rs:318:10:318:15 | Trait1 | main.rs:299:5:303:5 | trait Trait1 |
|
||||
| main.rs:319:11:319:11 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:322:13:322:16 | Self | main.rs:317:5:329:5 | impl Trait1 for S { ... } |
|
||||
| main.rs:322:13:322:19 | ...::g | main.rs:326:9:328:9 | fn g |
|
||||
| main.rs:332:10:332:15 | Trait2 | main.rs:305:5:313:5 | trait Trait2 |
|
||||
| main.rs:333:11:333:11 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:342:17:342:17 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:343:10:343:10 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:344:14:344:19 | Trait1 | main.rs:299:5:303:5 | trait Trait1 |
|
||||
| main.rs:346:10:346:10 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:347:14:347:19 | Trait2 | main.rs:305:5:313:5 | trait Trait2 |
|
||||
| main.rs:349:9:349:9 | S | main.rs:315:5:315:13 | struct S |
|
||||
| main.rs:349:9:349:12 | ...::g | main.rs:326:9:328:9 | fn g |
|
||||
| main.rs:359:24:359:24 | T | main.rs:357:7:357:7 | T |
|
||||
| main.rs:361:24:361:24 | T | main.rs:357:7:357:7 | T |
|
||||
| main.rs:364:24:364:24 | T | main.rs:357:7:357:7 | T |
|
||||
| main.rs:365:13:365:16 | Self | main.rs:355:5:371:5 | trait Trait1 |
|
||||
| main.rs:365:13:365:19 | ...::g | main.rs:361:9:362:9 | fn g |
|
||||
| main.rs:369:18:369:18 | T | main.rs:357:7:357:7 | T |
|
||||
| main.rs:377:9:379:9 | Trait1::<...> | main.rs:355:5:371:5 | trait Trait1 |
|
||||
| main.rs:378:11:378:11 | T | main.rs:375:7:375:7 | T |
|
||||
| main.rs:380:24:380:24 | T | main.rs:375:7:375:7 | T |
|
||||
| main.rs:382:13:382:16 | Self | main.rs:373:5:386:5 | trait Trait2 |
|
||||
| main.rs:382:13:382:19 | ...::g | main.rs:361:9:362:9 | fn g |
|
||||
| main.rs:384:13:384:16 | Self | main.rs:373:5:386:5 | trait Trait2 |
|
||||
| main.rs:384:13:384:19 | ...::c | main.rs:369:9:370:9 | Const |
|
||||
| main.rs:391:10:393:5 | Trait1::<...> | main.rs:355:5:371:5 | trait Trait1 |
|
||||
| main.rs:392:7:392:7 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:394:11:394:11 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:395:24:395:24 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:397:13:397:16 | Self | main.rs:390:5:408:5 | impl Trait1::<...> for S { ... } |
|
||||
| main.rs:397:13:397:19 | ...::g | main.rs:401:9:404:9 | fn g |
|
||||
| main.rs:401:24:401:24 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:403:13:403:16 | Self | main.rs:390:5:408:5 | impl Trait1::<...> for S { ... } |
|
||||
| main.rs:403:13:403:19 | ...::c | main.rs:406:9:407:9 | Const |
|
||||
| main.rs:406:18:406:18 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:406:22:406:22 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:411:10:413:5 | Trait2::<...> | main.rs:373:5:386:5 | trait Trait2 |
|
||||
| main.rs:412:7:412:7 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:414:11:414:11 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:415:24:415:24 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:417:13:417:16 | Self | main.rs:410:5:419:5 | impl Trait2::<...> for S { ... } |
|
||||
| main.rs:424:17:424:17 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:425:10:425:10 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:426:14:428:11 | Trait1::<...> | main.rs:355:5:371:5 | trait Trait1 |
|
||||
| main.rs:427:13:427:13 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:430:10:430:10 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:431:14:433:11 | Trait2::<...> | main.rs:373:5:386:5 | trait Trait2 |
|
||||
| main.rs:432:13:432:13 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:435:9:435:9 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:435:9:435:12 | ...::g | main.rs:401:9:404:9 | fn g |
|
||||
| main.rs:437:9:437:9 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:437:9:437:12 | ...::h | main.rs:364:9:367:9 | fn h |
|
||||
| main.rs:439:9:439:9 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:439:9:439:12 | ...::c | main.rs:406:9:407:9 | Const |
|
||||
| main.rs:440:10:440:10 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:441:14:443:11 | Trait1::<...> | main.rs:355:5:371:5 | trait Trait1 |
|
||||
| main.rs:442:13:442:13 | S | main.rs:388:5:388:13 | struct S |
|
||||
| main.rs:456:10:456:16 | MyTrait | main.rs:449:5:451:5 | trait MyTrait |
|
||||
| main.rs:457:9:457:9 | S | main.rs:453:5:453:13 | struct S |
|
||||
| main.rs:465:7:465:13 | MyTrait | main.rs:449:5:451:5 | trait MyTrait |
|
||||
| main.rs:466:10:466:10 | T | main.rs:464:10:464:10 | T |
|
||||
| main.rs:468:9:468:9 | T | main.rs:464:10:464:10 | T |
|
||||
| main.rs:468:9:468:12 | ...::f | main.rs:450:9:450:20 | fn f |
|
||||
| main.rs:469:9:469:15 | MyTrait | main.rs:449:5:451:5 | trait MyTrait |
|
||||
| main.rs:469:9:469:18 | ...::f | main.rs:450:9:450:20 | fn f |
|
||||
| main.rs:474:9:474:9 | g | main.rs:463:5:470:5 | fn g |
|
||||
| main.rs:475:11:475:11 | S | main.rs:453:5:453:13 | struct S |
|
||||
| main.rs:493:17:493:21 | super | main.rs:485:5:497:5 | mod m19 |
|
||||
| main.rs:493:17:493:24 | ...::f | main.rs:486:9:488:9 | fn f |
|
||||
| main.rs:494:17:494:21 | super | main.rs:485:5:497:5 | mod m19 |
|
||||
| main.rs:494:17:494:28 | ...::super | main.rs:480:1:498:1 | mod m18 |
|
||||
| main.rs:494:17:494:31 | ...::f | main.rs:481:5:483:5 | fn f |
|
||||
| main.rs:511:13:511:17 | super | main.rs:500:1:525:1 | mod m21 |
|
||||
| main.rs:511:13:511:22 | ...::m22 | main.rs:501:5:507:5 | mod m22 |
|
||||
| main.rs:511:13:511:30 | ...::MyEnum | main.rs:502:9:504:9 | enum MyEnum |
|
||||
| main.rs:512:13:512:16 | self | main.rs:502:9:504:9 | enum MyEnum |
|
||||
| main.rs:516:13:516:17 | super | main.rs:500:1:525:1 | mod m21 |
|
||||
| main.rs:516:13:516:22 | ...::m22 | main.rs:501:5:507:5 | mod m22 |
|
||||
| main.rs:516:13:516:32 | ...::MyStruct | main.rs:506:9:506:28 | struct MyStruct |
|
||||
| main.rs:517:13:517:16 | self | main.rs:506:9:506:28 | struct MyStruct |
|
||||
| main.rs:521:21:521:26 | MyEnum | main.rs:502:9:504:9 | enum MyEnum |
|
||||
| main.rs:521:21:521:29 | ...::A | main.rs:503:13:503:13 | A |
|
||||
| main.rs:522:21:522:28 | MyStruct | main.rs:506:9:506:28 | struct MyStruct |
|
||||
| main.rs:538:10:540:5 | Trait1::<...> | main.rs:528:5:533:5 | trait Trait1 |
|
||||
| main.rs:539:7:539:10 | Self | main.rs:535:5:535:13 | struct S |
|
||||
| main.rs:541:11:541:11 | S | main.rs:535:5:535:13 | struct S |
|
||||
| main.rs:549:17:549:17 | S | main.rs:535:5:535:13 | struct S |
|
||||
| main.rs:565:15:565:15 | T | main.rs:564:26:564:26 | T |
|
||||
| main.rs:570:9:570:24 | GenericStruct::<...> | main.rs:563:5:566:5 | struct GenericStruct |
|
||||
| main.rs:570:23:570:23 | T | main.rs:569:10:569:10 | T |
|
||||
| main.rs:572:9:572:9 | T | main.rs:569:10:569:10 | T |
|
||||
| main.rs:572:12:572:17 | TraitA | main.rs:555:5:557:5 | trait TraitA |
|
||||
| main.rs:581:9:581:24 | GenericStruct::<...> | main.rs:563:5:566:5 | struct GenericStruct |
|
||||
| main.rs:581:23:581:23 | T | main.rs:580:10:580:10 | T |
|
||||
| main.rs:583:9:583:9 | T | main.rs:580:10:580:10 | T |
|
||||
| main.rs:583:12:583:17 | TraitB | main.rs:559:5:561:5 | trait TraitB |
|
||||
| main.rs:584:9:584:9 | T | main.rs:580:10:580:10 | T |
|
||||
| main.rs:584:12:584:17 | TraitA | main.rs:555:5:557:5 | trait TraitA |
|
||||
| main.rs:595:10:595:15 | TraitA | main.rs:555:5:557:5 | trait TraitA |
|
||||
| main.rs:595:21:595:31 | Implementor | main.rs:592:5:592:23 | struct Implementor |
|
||||
| main.rs:602:10:602:15 | TraitB | main.rs:559:5:561:5 | trait TraitB |
|
||||
| main.rs:602:21:602:31 | Implementor | main.rs:592:5:592:23 | struct Implementor |
|
||||
| main.rs:610:24:610:34 | Implementor | main.rs:592:5:592:23 | struct Implementor |
|
||||
| main.rs:611:23:611:35 | GenericStruct | main.rs:563:5:566:5 | struct GenericStruct |
|
||||
| main.rs:617:9:617:36 | GenericStruct::<...> | main.rs:563:5:566:5 | struct GenericStruct |
|
||||
| main.rs:617:9:617:50 | ...::call_trait_a | main.rs:574:9:576:9 | fn call_trait_a |
|
||||
| main.rs:617:25:617:35 | Implementor | main.rs:592:5:592:23 | struct Implementor |
|
||||
| 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 |
|
||||
| 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 |
|
||||
@@ -338,7 +341,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:649:2 | SourceFile |
|
||||
| my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:653: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 |
|
||||
@@ -352,7 +355,10 @@ resolvePath
|
||||
| my.rs:22:5:22:17 | ...::result | file://:0:0:0:0 | mod result |
|
||||
| my.rs:22:5:25:1 | ...::Result::<...> | file://:0:0:0:0 | enum Result |
|
||||
| my.rs:23:5:23:5 | T | my.rs:21:5:21:5 | T |
|
||||
| my.rs:28:8:28:10 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| my.rs:29:8:29:10 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| my.rs:30:6:30:16 | Result::<...> | my.rs:20:1:25:2 | type Result<...> |
|
||||
| my.rs:30:13:30:15 | i32 | file:///BUILTINS/types.rs:12:1:12:15 | struct i32 |
|
||||
| my.rs:33:16:33:18 | Err | file://:0:0:0:0 | Err |
|
||||
| my.rs:35:5:35:6 | Ok | file://:0:0:0:0 | Ok |
|
||||
| my/nested.rs:9:13:9:13 | f | my/nested.rs:3:9:5:9 | fn f |
|
||||
|
||||
@@ -5,13 +5,17 @@ import TestUtils
|
||||
|
||||
query predicate mod(Module m) { toBeTested(m) }
|
||||
|
||||
class ItemNodeLoc extends Locatable instanceof ItemNode {
|
||||
final private class ItemNodeFinal = ItemNode;
|
||||
|
||||
class ItemNodeLoc extends ItemNodeFinal {
|
||||
predicate hasLocationInfo(
|
||||
string filepath, int startline, int startcolumn, int endline, int endcolumn
|
||||
) {
|
||||
exists(string file |
|
||||
super.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and
|
||||
filepath = file.regexpReplaceAll("^/.*/.rustup/toolchains/[^/]+/", "/RUSTUP_HOME/toolchain/")
|
||||
this.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and
|
||||
filepath =
|
||||
file.regexpReplaceAll("^/.*/.rustup/toolchains/[^/]+/", "/RUSTUP_HOME/toolchain/")
|
||||
.regexpReplaceAll("^/.*/tools/builtins/", "/BUILTINS/")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -978,6 +978,20 @@ mod try_expressions {
|
||||
}
|
||||
}
|
||||
|
||||
mod builtins {
|
||||
pub fn f() {
|
||||
let x: i32 = 1; // $ type=x:i32
|
||||
let y = 2; // $ type=y:i32
|
||||
let z = x + y; // $ MISSING: type=z:i32
|
||||
let z = x.abs(); // $ method=abs $ type=z:i32
|
||||
let c = 'c'; // $ type=c:char
|
||||
let hello = "Hello"; // $ type=hello:str
|
||||
let f = 123.0f64; // $ type=f:f64
|
||||
let t = true; // $ type=t:bool
|
||||
let f = false; // $ type=f:bool
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
field_access::f();
|
||||
method_impl::f();
|
||||
@@ -995,4 +1009,5 @@ fn main() {
|
||||
implicit_self_borrow::f();
|
||||
borrowed_typed::f();
|
||||
try_expressions::f();
|
||||
builtins::f();
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ inferType
|
||||
| main.rs:26:13:26:13 | x | | main.rs:5:5:8:5 | MyThing |
|
||||
| main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing |
|
||||
| main.rs:26:30:26:30 | S | | main.rs:2:5:3:13 | S |
|
||||
| main.rs:27:18:27:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing |
|
||||
| main.rs:27:26:27:28 | x.a | | main.rs:2:5:3:13 | S |
|
||||
| main.rs:32:13:32:13 | x | | main.rs:16:5:19:5 | GenericThing |
|
||||
@@ -13,6 +14,7 @@ inferType
|
||||
| main.rs:32:17:32:42 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing |
|
||||
| main.rs:32:17:32:42 | GenericThing::<...> {...} | A | main.rs:2:5:3:13 | S |
|
||||
| main.rs:32:40:32:40 | S | | main.rs:2:5:3:13 | S |
|
||||
| main.rs:33:18:33:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:33:26:33:26 | x | | main.rs:16:5:19:5 | GenericThing |
|
||||
| main.rs:33:26:33:26 | x | A | main.rs:2:5:3:13 | S |
|
||||
| main.rs:33:26:33:28 | x.a | | main.rs:2:5:3:13 | S |
|
||||
@@ -21,6 +23,7 @@ inferType
|
||||
| main.rs:36:17:36:37 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing |
|
||||
| main.rs:36:17:36:37 | GenericThing {...} | A | main.rs:2:5:3:13 | S |
|
||||
| main.rs:36:35:36:35 | S | | main.rs:2:5:3:13 | S |
|
||||
| main.rs:37:18:37:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:37:26:37:26 | x | | main.rs:16:5:19:5 | GenericThing |
|
||||
| main.rs:37:26:37:26 | x | A | main.rs:2:5:3:13 | S |
|
||||
| main.rs:37:26:37:28 | x.a | | main.rs:2:5:3:13 | S |
|
||||
@@ -28,6 +31,7 @@ inferType
|
||||
| main.rs:41:17:43:9 | OptionS {...} | | main.rs:21:5:23:5 | OptionS |
|
||||
| main.rs:42:16:42:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:42:16:42:33 | ...::MyNone(...) | T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:44:18:44:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:44:26:44:26 | x | | main.rs:21:5:23:5 | OptionS |
|
||||
| main.rs:44:26:44:28 | x.a | | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:44:26:44:28 | x.a | T | main.rs:2:5:3:13 | S |
|
||||
@@ -39,6 +43,7 @@ inferType
|
||||
| main.rs:47:17:49:9 | GenericThing::<...> {...} | A.T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:48:16:48:33 | ...::MyNone(...) | | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:48:16:48:33 | ...::MyNone(...) | T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:50:18:50:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:50:26:50:26 | x | | main.rs:16:5:19:5 | GenericThing |
|
||||
| main.rs:50:26:50:26 | x | A | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:50:26:50:26 | x | A.T | main.rs:2:5:3:13 | S |
|
||||
@@ -59,6 +64,7 @@ inferType
|
||||
| main.rs:56:30:56:30 | x | A.T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:56:30:56:32 | x.a | | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:56:30:56:32 | x.a | T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:57:18:57:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:57:26:57:26 | a | | main.rs:10:5:14:5 | MyOption |
|
||||
| main.rs:57:26:57:26 | a | T | main.rs:2:5:3:13 | S |
|
||||
| main.rs:70:19:70:22 | SelfParam | | main.rs:67:5:67:21 | Foo |
|
||||
@@ -68,6 +74,7 @@ inferType
|
||||
| main.rs:74:32:76:9 | { ... } | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:75:13:75:16 | self | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:79:23:84:5 | { ... } | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:80:18:80:33 | "main.rs::m1::f\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:81:13:81:13 | x | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:81:17:81:22 | Foo {...} | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:82:13:82:13 | y | | main.rs:67:5:67:21 | Foo |
|
||||
@@ -76,6 +83,7 @@ inferType
|
||||
| main.rs:86:14:86:14 | x | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:86:22:86:22 | y | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:86:37:90:5 | { ... } | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:87:18:87:33 | "main.rs::m1::g\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:88:9:88:9 | x | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:88:9:88:14 | x.m1() | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:89:9:89:9 | y | | main.rs:67:5:67:21 | Foo |
|
||||
@@ -111,14 +119,18 @@ inferType
|
||||
| main.rs:126:17:126:33 | MyThing {...} | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:126:17:126:33 | MyThing {...} | A | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:126:30:126:31 | S2 | | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:129:18:129:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:129:26:129:26 | x | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:129:26:129:26 | x | A | main.rs:99:5:100:14 | S1 |
|
||||
| main.rs:129:26:129:28 | x.a | | main.rs:99:5:100:14 | S1 |
|
||||
| main.rs:130:18:130:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:130:26:130:26 | y | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:130:26:130:26 | y | A | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:130:26:130:28 | y.a | | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:132:18:132:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:132:26:132:26 | x | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:132:26:132:26 | x | A | main.rs:99:5:100:14 | S1 |
|
||||
| main.rs:133:18:133:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:133:26:133:26 | y | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:133:26:133:26 | y | A | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:135:13:135:13 | x | | main.rs:94:5:97:5 | MyThing |
|
||||
@@ -131,9 +143,11 @@ inferType
|
||||
| main.rs:136:17:136:33 | MyThing {...} | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:136:17:136:33 | MyThing {...} | A | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:136:30:136:31 | S2 | | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:138:18:138:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:138:26:138:26 | x | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:138:26:138:26 | x | A | main.rs:99:5:100:14 | S1 |
|
||||
| main.rs:138:26:138:31 | x.m2() | | main.rs:99:5:100:14 | S1 |
|
||||
| main.rs:139:18:139:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:139:26:139:26 | y | | main.rs:94:5:97:5 | MyThing |
|
||||
| main.rs:139:26:139:26 | y | A | main.rs:101:5:102:14 | S2 |
|
||||
| main.rs:139:26:139:31 | y.m2() | | main.rs:101:5:102:14 | S2 |
|
||||
@@ -170,8 +184,10 @@ inferType
|
||||
| main.rs:185:17:185:33 | MyThing {...} | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:185:17:185:33 | MyThing {...} | A | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:185:30:185:31 | S2 | | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:187:18:187:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:187:26:187:26 | x | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:187:26:187:26 | x | A | main.rs:149:5:150:14 | S1 |
|
||||
| main.rs:188:18:188:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:188:26:188:26 | y | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:188:26:188:26 | y | A | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:190:13:190:13 | x | | main.rs:144:5:147:5 | MyThing |
|
||||
@@ -184,8 +200,10 @@ inferType
|
||||
| main.rs:191:17:191:33 | MyThing {...} | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:191:17:191:33 | MyThing {...} | A | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:191:30:191:31 | S2 | | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:193:18:193:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:193:40:193:40 | x | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:193:40:193:40 | x | A | main.rs:149:5:150:14 | S1 |
|
||||
| main.rs:194:18:194:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:194:40:194:40 | y | | main.rs:144:5:147:5 | MyThing |
|
||||
| main.rs:194:40:194:40 | y | A | main.rs:151:5:152:14 | S2 |
|
||||
| main.rs:211:19:211:22 | SelfParam | | main.rs:209:5:212:5 | Self [trait FirstTrait] |
|
||||
@@ -194,21 +212,25 @@ inferType
|
||||
| main.rs:221:13:221:14 | s1 | | main.rs:219:35:219:42 | I |
|
||||
| main.rs:221:18:221:18 | x | | main.rs:219:45:219:61 | T |
|
||||
| main.rs:221:18:221:27 | x.method() | | main.rs:219:35:219:42 | I |
|
||||
| main.rs:222:18:222:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:222:26:222:27 | s1 | | main.rs:219:35:219:42 | I |
|
||||
| main.rs:225:65:225:65 | x | | main.rs:225:46:225:62 | T |
|
||||
| main.rs:227:13:227:14 | s2 | | main.rs:225:36:225:43 | I |
|
||||
| main.rs:227:18:227:18 | x | | main.rs:225:46:225:62 | T |
|
||||
| main.rs:227:18:227:27 | x.method() | | main.rs:225:36:225:43 | I |
|
||||
| main.rs:228:18:228:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:228:26:228:27 | s2 | | main.rs:225:36:225:43 | I |
|
||||
| main.rs:231:49:231:49 | x | | main.rs:231:30:231:46 | T |
|
||||
| main.rs:232:13:232:13 | s | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:232:17:232:17 | x | | main.rs:231:30:231:46 | T |
|
||||
| main.rs:232:17:232:26 | x.method() | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:233:18:233:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:233:26:233:26 | s | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:236:53:236:53 | x | | main.rs:236:34:236:50 | T |
|
||||
| main.rs:237:13:237:13 | s | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:237:17:237:17 | x | | main.rs:236:34:236:50 | T |
|
||||
| main.rs:237:17:237:26 | x.method() | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:238:18:238:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:238:26:238:26 | s | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:242:16:242:19 | SelfParam | | main.rs:241:5:245:5 | Self [trait Pair] |
|
||||
| main.rs:244:16:244:19 | SelfParam | | main.rs:241:5:245:5 | Self [trait Pair] |
|
||||
@@ -220,6 +242,7 @@ inferType
|
||||
| main.rs:250:13:250:14 | s2 | | main.rs:204:5:205:14 | S2 |
|
||||
| main.rs:250:18:250:18 | y | | main.rs:247:41:247:55 | T |
|
||||
| main.rs:250:18:250:24 | y.snd() | | main.rs:204:5:205:14 | S2 |
|
||||
| main.rs:251:18:251:29 | "{:?}, {:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:251:32:251:33 | s1 | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:251:36:251:37 | s2 | | main.rs:204:5:205:14 | S2 |
|
||||
| main.rs:254:69:254:69 | x | | main.rs:254:52:254:66 | T |
|
||||
@@ -230,6 +253,7 @@ inferType
|
||||
| main.rs:257:13:257:14 | s2 | | main.rs:254:41:254:49 | T2 |
|
||||
| main.rs:257:18:257:18 | y | | main.rs:254:52:254:66 | T |
|
||||
| main.rs:257:18:257:24 | y.snd() | | main.rs:254:41:254:49 | T2 |
|
||||
| main.rs:258:18:258:29 | "{:?}, {:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:258:32:258:33 | s1 | | main.rs:201:5:202:14 | S1 |
|
||||
| main.rs:258:36:258:37 | s2 | | main.rs:254:41:254:49 | T2 |
|
||||
| main.rs:274:15:274:18 | SelfParam | | main.rs:273:5:282:5 | Self [trait MyTrait] |
|
||||
@@ -264,9 +288,11 @@ inferType
|
||||
| main.rs:302:17:302:33 | MyThing {...} | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:302:17:302:33 | MyThing {...} | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:302:30:302:31 | S2 | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:304:18:304:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:304:26:304:26 | x | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:304:26:304:26 | x | T | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:304:26:304:31 | x.m1() | | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:305:18:305:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:305:26:305:26 | y | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:305:26:305:26 | y | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:305:26:305:31 | y.m1() | | main.rs:270:5:271:14 | S2 |
|
||||
@@ -280,9 +306,11 @@ inferType
|
||||
| main.rs:308:17:308:33 | MyThing {...} | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:308:17:308:33 | MyThing {...} | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:308:30:308:31 | S2 | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:310:18:310:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:310:26:310:26 | x | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:310:26:310:26 | x | T | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:310:26:310:31 | x.m2() | | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:311:18:311:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:311:26:311:26 | y | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:311:26:311:26 | y | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:311:26:311:31 | y.m2() | | main.rs:270:5:271:14 | S2 |
|
||||
@@ -296,9 +324,11 @@ inferType
|
||||
| main.rs:314:18:314:34 | MyThing {...} | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:314:18:314:34 | MyThing {...} | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:314:31:314:32 | S2 | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:316:18:316:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:316:26:316:42 | call_trait_m1(...) | | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:316:40:316:41 | x2 | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:316:40:316:41 | x2 | T | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:317:18:317:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:317:26:317:42 | call_trait_m1(...) | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:317:40:317:41 | y2 | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:317:40:317:41 | y2 | T | main.rs:270:5:271:14 | S2 |
|
||||
@@ -320,10 +350,12 @@ inferType
|
||||
| main.rs:323:16:323:32 | MyThing {...} | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:323:16:323:32 | MyThing {...} | T | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:323:29:323:30 | S2 | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:326:18:326:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:326:26:326:48 | call_trait_thing_m1(...) | | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:326:46:326:47 | x3 | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:326:46:326:47 | x3 | T | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:326:46:326:47 | x3 | T.T | main.rs:268:5:269:14 | S1 |
|
||||
| main.rs:327:18:327:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:327:26:327:48 | call_trait_thing_m1(...) | | main.rs:270:5:271:14 | S2 |
|
||||
| main.rs:327:46:327:47 | y3 | | main.rs:263:5:266:5 | MyThing |
|
||||
| main.rs:327:46:327:47 | y3 | T | main.rs:263:5:266:5 | MyThing |
|
||||
@@ -400,6 +432,7 @@ inferType
|
||||
| main.rs:445:13:445:14 | S2 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:450:13:450:14 | x1 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:450:18:450:18 | S | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:452:18:452:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:452:26:452:27 | x1 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:452:26:452:32 | x1.m1() | | main.rs:389:5:390:14 | AT |
|
||||
| main.rs:454:13:454:14 | x2 | | main.rs:383:5:384:13 | S |
|
||||
@@ -407,20 +440,31 @@ inferType
|
||||
| main.rs:456:13:456:13 | y | | main.rs:389:5:390:14 | AT |
|
||||
| main.rs:456:17:456:18 | x2 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:456:17:456:23 | x2.m2() | | main.rs:389:5:390:14 | AT |
|
||||
| main.rs:457:18:457:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:457:26:457:26 | y | | main.rs:389:5:390:14 | AT |
|
||||
| main.rs:459:13:459:14 | x3 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:459:18:459:18 | S | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:461:18:461:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:461:26:461:27 | x3 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:461:26:461:34 | x3.put(...) | | main.rs:332:5:335:5 | Wrapper |
|
||||
| main.rs:461:26:461:34 | x3.put(...) | A | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:461:26:461:43 | ... .unwrap() | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:461:33:461:33 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:464:18:464:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:464:26:464:27 | x3 | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:464:36:464:36 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:464:39:464:39 | 3 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:466:20:466:20 | S | | main.rs:383:5:384:13 | S |
|
||||
| main.rs:467:18:467:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:469:13:469:14 | x5 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:469:18:469:19 | S2 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:470:18:470:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:470:26:470:27 | x5 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:470:26:470:32 | x5.m1() | | main.rs:332:5:335:5 | Wrapper |
|
||||
| main.rs:470:26:470:32 | x5.m1() | A | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:471:13:471:14 | x6 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:471:18:471:19 | S2 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:472:18:472:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:472:26:472:27 | x6 | | main.rs:386:5:387:14 | S2 |
|
||||
| main.rs:472:26:472:32 | x6.m2() | | main.rs:332:5:335:5 | Wrapper |
|
||||
| main.rs:472:26:472:32 | x6.m2() | A | main.rs:386:5:387:14 | S2 |
|
||||
@@ -453,9 +497,11 @@ inferType
|
||||
| main.rs:503:17:503:36 | ...::C2 {...} | | main.rs:481:5:485:5 | MyEnum |
|
||||
| main.rs:503:17:503:36 | ...::C2 {...} | A | main.rs:489:5:490:14 | S2 |
|
||||
| main.rs:503:33:503:34 | S2 | | main.rs:489:5:490:14 | S2 |
|
||||
| main.rs:505:18:505:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:505:26:505:26 | x | | main.rs:481:5:485:5 | MyEnum |
|
||||
| main.rs:505:26:505:26 | x | A | main.rs:487:5:488:14 | S1 |
|
||||
| main.rs:505:26:505:31 | x.m1() | | main.rs:487:5:488:14 | S1 |
|
||||
| main.rs:506:18:506:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:506:26:506:26 | y | | main.rs:481:5:485:5 | MyEnum |
|
||||
| main.rs:506:26:506:26 | y | A | main.rs:489:5:490:14 | S2 |
|
||||
| main.rs:506:26:506:31 | y.m1() | | main.rs:489:5:490:14 | S2 |
|
||||
@@ -463,6 +509,9 @@ inferType
|
||||
| main.rs:532:15:532:18 | SelfParam | | main.rs:531:5:542:5 | Self [trait MyTrait2] |
|
||||
| main.rs:535:9:541:9 | { ... } | | main.rs:531:20:531:22 | Tr2 |
|
||||
| main.rs:536:13:540:13 | if ... {...} else {...} | | main.rs:531:20:531:22 | Tr2 |
|
||||
| main.rs:536:16:536:16 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:536:20:536:20 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:536:24:536:24 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:536:26:538:13 | { ... } | | main.rs:531:20:531:22 | Tr2 |
|
||||
| main.rs:537:17:537:20 | self | | main.rs:531:5:542:5 | Self [trait MyTrait2] |
|
||||
| main.rs:537:17:537:25 | self.m1() | | main.rs:531:20:531:22 | Tr2 |
|
||||
@@ -472,6 +521,9 @@ inferType
|
||||
| main.rs:545:15:545:18 | SelfParam | | main.rs:544:5:555:5 | Self [trait MyTrait3] |
|
||||
| main.rs:548:9:554:9 | { ... } | | main.rs:544:20:544:22 | Tr3 |
|
||||
| main.rs:549:13:553:13 | if ... {...} else {...} | | main.rs:544:20:544:22 | Tr3 |
|
||||
| main.rs:549:16:549:16 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:549:20:549:20 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:549:24:549:24 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:549:26:551:13 | { ... } | | main.rs:544:20:544:22 | Tr3 |
|
||||
| main.rs:550:17:550:20 | self | | main.rs:544:5:555:5 | Self [trait MyTrait3] |
|
||||
| main.rs:550:17:550:25 | self.m2() | | main.rs:511:5:514:5 | MyThing |
|
||||
@@ -507,9 +559,11 @@ inferType
|
||||
| main.rs:579:17:579:33 | MyThing {...} | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:579:17:579:33 | MyThing {...} | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:579:30:579:31 | S2 | | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:581:18:581:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:581:26:581:26 | x | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:581:26:581:26 | x | A | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:581:26:581:31 | x.m1() | | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:582:18:582:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:582:26:582:26 | y | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:582:26:582:26 | y | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:582:26:582:31 | y.m1() | | main.rs:523:5:524:14 | S2 |
|
||||
@@ -523,9 +577,11 @@ inferType
|
||||
| main.rs:585:17:585:33 | MyThing {...} | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:585:17:585:33 | MyThing {...} | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:585:30:585:31 | S2 | | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:587:18:587:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:587:26:587:26 | x | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:587:26:587:26 | x | A | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:587:26:587:31 | x.m2() | | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:588:18:588:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:588:26:588:26 | y | | main.rs:511:5:514:5 | MyThing |
|
||||
| main.rs:588:26:588:26 | y | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:588:26:588:31 | y.m2() | | main.rs:523:5:524:14 | S2 |
|
||||
@@ -539,9 +595,11 @@ inferType
|
||||
| main.rs:591:17:591:34 | MyThing2 {...} | | main.rs:516:5:519:5 | MyThing2 |
|
||||
| main.rs:591:17:591:34 | MyThing2 {...} | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:591:31:591:32 | S2 | | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:593:18:593:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:593:26:593:26 | x | | main.rs:516:5:519:5 | MyThing2 |
|
||||
| main.rs:593:26:593:26 | x | A | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:593:26:593:31 | x.m3() | | main.rs:521:5:522:14 | S1 |
|
||||
| main.rs:594:18:594:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:594:26:594:26 | y | | main.rs:516:5:519:5 | MyThing2 |
|
||||
| main.rs:594:26:594:26 | y | A | main.rs:523:5:524:14 | S2 |
|
||||
| main.rs:594:26:594:31 | y.m3() | | main.rs:523:5:524:14 | S2 |
|
||||
@@ -560,6 +618,7 @@ inferType
|
||||
| main.rs:626:9:626:16 | x.into() | | main.rs:622:17:622:18 | T2 |
|
||||
| main.rs:630:13:630:13 | x | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:630:17:630:18 | S1 | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:631:18:631:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:631:26:631:31 | id(...) | | file://:0:0:0:0 | & |
|
||||
| main.rs:631:26:631:31 | id(...) | &T | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:631:29:631:30 | &x | | file://:0:0:0:0 | & |
|
||||
@@ -567,6 +626,7 @@ inferType
|
||||
| main.rs:631:30:631:30 | x | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:633:13:633:13 | x | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:633:17:633:18 | S1 | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:634:18:634:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:634:26:634:37 | id::<...>(...) | | file://:0:0:0:0 | & |
|
||||
| main.rs:634:26:634:37 | id::<...>(...) | &T | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:634:35:634:36 | &x | | file://:0:0:0:0 | & |
|
||||
@@ -574,6 +634,7 @@ inferType
|
||||
| main.rs:634:36:634:36 | x | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:636:13:636:13 | x | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:636:17:636:18 | S1 | | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:637:18:637:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:637:26:637:44 | id::<...>(...) | | file://:0:0:0:0 | & |
|
||||
| main.rs:637:26:637:44 | id::<...>(...) | &T | main.rs:602:5:603:14 | S1 |
|
||||
| main.rs:637:42:637:43 | &x | | file://:0:0:0:0 | & |
|
||||
@@ -597,7 +658,9 @@ inferType
|
||||
| main.rs:658:19:658:22 | self | Fst | main.rs:656:10:656:12 | Fst |
|
||||
| main.rs:658:19:658:22 | self | Snd | main.rs:656:15:656:17 | Snd |
|
||||
| main.rs:659:43:659:82 | MacroExpr | | main.rs:656:15:656:17 | Snd |
|
||||
| main.rs:659:50:659:81 | "PairNone has no second elemen... | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:660:43:660:81 | MacroExpr | | main.rs:656:15:656:17 | Snd |
|
||||
| main.rs:660:50:660:80 | "PairFst has no second element... | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:661:37:661:39 | snd | | main.rs:656:15:656:17 | Snd |
|
||||
| main.rs:661:45:661:47 | snd | | main.rs:656:15:656:17 | Snd |
|
||||
| main.rs:662:41:662:43 | snd | | main.rs:656:15:656:17 | Snd |
|
||||
@@ -617,6 +680,7 @@ inferType
|
||||
| main.rs:689:17:689:29 | t.unwrapSnd() | Fst | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:689:17:689:29 | t.unwrapSnd() | Snd | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:689:17:689:41 | ... .unwrapSnd() | | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:690:18:690:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:690:26:690:26 | x | | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:695:13:695:14 | p1 | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:695:13:695:14 | p1 | Fst | main.rs:667:5:668:14 | S1 |
|
||||
@@ -626,6 +690,7 @@ inferType
|
||||
| main.rs:695:26:695:53 | ...::PairBoth(...) | Snd | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:695:47:695:48 | S1 | | main.rs:667:5:668:14 | S1 |
|
||||
| main.rs:695:51:695:52 | S2 | | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:696:18:696:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:696:26:696:27 | p1 | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:696:26:696:27 | p1 | Fst | main.rs:667:5:668:14 | S1 |
|
||||
| main.rs:696:26:696:27 | p1 | Snd | main.rs:670:5:671:14 | S2 |
|
||||
@@ -635,6 +700,7 @@ inferType
|
||||
| main.rs:699:26:699:47 | ...::PairNone(...) | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:699:26:699:47 | ...::PairNone(...) | Fst | main.rs:667:5:668:14 | S1 |
|
||||
| main.rs:699:26:699:47 | ...::PairNone(...) | Snd | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:700:18:700:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:700:26:700:27 | p2 | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:700:26:700:27 | p2 | Fst | main.rs:667:5:668:14 | S1 |
|
||||
| main.rs:700:26:700:27 | p2 | Snd | main.rs:670:5:671:14 | S2 |
|
||||
@@ -645,6 +711,7 @@ inferType
|
||||
| main.rs:703:34:703:56 | ...::PairSnd(...) | Fst | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:703:34:703:56 | ...::PairSnd(...) | Snd | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:703:54:703:55 | S3 | | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:704:18:704:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:704:26:704:27 | p3 | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:704:26:704:27 | p3 | Fst | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:704:26:704:27 | p3 | Snd | main.rs:673:5:674:14 | S3 |
|
||||
@@ -654,6 +721,7 @@ inferType
|
||||
| main.rs:707:35:707:56 | ...::PairNone(...) | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:707:35:707:56 | ...::PairNone(...) | Fst | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:707:35:707:56 | ...::PairNone(...) | Snd | main.rs:673:5:674:14 | S3 |
|
||||
| main.rs:708:18:708:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:708:26:708:27 | p3 | | main.rs:648:5:654:5 | PairOption |
|
||||
| main.rs:708:26:708:27 | p3 | Fst | main.rs:670:5:671:14 | S2 |
|
||||
| main.rs:708:26:708:27 | p3 | Snd | main.rs:673:5:674:14 | S3 |
|
||||
@@ -701,6 +769,7 @@ inferType
|
||||
| main.rs:745:40:745:40 | x | T | main.rs:741:10:741:10 | T |
|
||||
| main.rs:754:13:754:14 | x1 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:754:18:754:37 | ...::new(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:755:18:755:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:755:26:755:27 | x1 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:757:13:757:18 | mut x2 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:757:13:757:18 | mut x2 | T | main.rs:750:5:751:13 | S |
|
||||
@@ -709,12 +778,14 @@ inferType
|
||||
| main.rs:758:9:758:10 | x2 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:758:9:758:10 | x2 | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:758:16:758:16 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:759:18:759:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:759:26:759:27 | x2 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:759:26:759:27 | x2 | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:761:13:761:18 | mut x3 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:761:22:761:36 | ...::new(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:762:9:762:10 | x3 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:762:21:762:21 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:763:18:763:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:763:26:763:27 | x3 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:765:13:765:18 | mut x4 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:765:13:765:18 | mut x4 | T | main.rs:750:5:751:13 | S |
|
||||
@@ -726,6 +797,7 @@ inferType
|
||||
| main.rs:766:28:766:29 | x4 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:766:28:766:29 | x4 | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:766:32:766:32 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:767:18:767:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:767:26:767:27 | x4 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:767:26:767:27 | x4 | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:769:13:769:14 | x5 | | main.rs:715:5:719:5 | MyOption |
|
||||
@@ -736,6 +808,7 @@ inferType
|
||||
| main.rs:769:18:769:58 | ...::MySome(...) | T.T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:769:35:769:57 | ...::MyNone(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:769:35:769:57 | ...::MyNone(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:770:18:770:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:770:26:770:27 | x5 | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:770:26:770:27 | x5 | T | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:770:26:770:27 | x5 | T.T | main.rs:750:5:751:13 | S |
|
||||
@@ -747,6 +820,7 @@ inferType
|
||||
| main.rs:772:18:772:58 | ...::MySome(...) | T.T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:772:35:772:57 | ...::MyNone(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:772:35:772:57 | ...::MyNone(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:773:18:773:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:773:26:773:61 | ...::flatten(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:773:26:773:61 | ...::flatten(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:773:59:773:60 | x6 | | main.rs:715:5:719:5 | MyOption |
|
||||
@@ -756,6 +830,9 @@ inferType
|
||||
| main.rs:775:13:775:19 | from_if | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:775:23:779:9 | if ... {...} else {...} | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:775:23:779:9 | if ... {...} else {...} | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:775:26:775:26 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:775:30:775:30 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:775:34:775:34 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:775:36:777:9 | { ... } | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:775:36:777:9 | { ... } | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:776:13:776:30 | ...::MyNone(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
@@ -765,28 +842,39 @@ inferType
|
||||
| main.rs:778:13:778:31 | ...::MySome(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:778:13:778:31 | ...::MySome(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:778:30:778:30 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:780:18:780:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:780:26:780:32 | from_if | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:780:26:780:32 | from_if | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:782:13:782:22 | from_match | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:782:13:782:22 | from_match | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:782:26:785:9 | match ... { ... } | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:782:26:785:9 | match ... { ... } | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:782:32:782:32 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:782:36:782:36 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:782:40:782:40 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:783:13:783:16 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:783:21:783:38 | ...::MyNone(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:783:21:783:38 | ...::MyNone(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:784:13:784:17 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:784:22:784:40 | ...::MySome(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:784:22:784:40 | ...::MySome(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:784:39:784:39 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:786:18:786:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:786:26:786:35 | from_match | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:786:26:786:35 | from_match | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:788:13:788:21 | from_loop | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:788:13:788:21 | from_loop | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:788:25:793:9 | loop { ... } | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:788:25:793:9 | loop { ... } | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:789:16:789:16 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:789:20:789:20 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:789:24:789:24 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:790:23:790:40 | ...::MyNone(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:790:23:790:40 | ...::MyNone(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:792:19:792:37 | ...::MySome(...) | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:792:19:792:37 | ...::MySome(...) | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:792:36:792:36 | S | | main.rs:750:5:751:13 | S |
|
||||
| main.rs:794:18:794:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:794:26:794:34 | from_loop | | main.rs:715:5:719:5 | MyOption |
|
||||
| main.rs:794:26:794:34 | from_loop | T | main.rs:750:5:751:13 | S |
|
||||
| main.rs:807:15:807:18 | SelfParam | | main.rs:800:5:801:19 | S |
|
||||
@@ -822,6 +910,7 @@ inferType
|
||||
| main.rs:821:18:821:22 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:821:18:821:22 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:821:20:821:21 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:822:18:822:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:822:26:822:27 | x1 | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:822:26:822:27 | x1 | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:822:26:822:32 | x1.m1() | | main.rs:803:5:804:14 | S2 |
|
||||
@@ -830,10 +919,12 @@ inferType
|
||||
| main.rs:824:18:824:22 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:824:18:824:22 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:824:20:824:21 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:826:18:826:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:826:26:826:27 | x2 | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:826:26:826:27 | x2 | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:826:26:826:32 | x2.m2() | | file://:0:0:0:0 | & |
|
||||
| main.rs:826:26:826:32 | x2.m2() | &T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:827:18:827:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:827:26:827:27 | x2 | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:827:26:827:27 | x2 | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:827:26:827:32 | x2.m3() | | file://:0:0:0:0 | & |
|
||||
@@ -843,6 +934,7 @@ inferType
|
||||
| main.rs:829:18:829:22 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:829:18:829:22 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:829:20:829:21 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:831:18:831:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:831:26:831:41 | ...::m2(...) | | file://:0:0:0:0 | & |
|
||||
| main.rs:831:26:831:41 | ...::m2(...) | &T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:831:38:831:40 | &x3 | | file://:0:0:0:0 | & |
|
||||
@@ -850,6 +942,7 @@ inferType
|
||||
| main.rs:831:38:831:40 | &x3 | &T.T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:831:39:831:40 | x3 | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:831:39:831:40 | x3 | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:832:18:832:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:832:26:832:41 | ...::m3(...) | | file://:0:0:0:0 | & |
|
||||
| main.rs:832:26:832:41 | ...::m3(...) | &T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:832:38:832:40 | &x3 | | file://:0:0:0:0 | & |
|
||||
@@ -866,11 +959,13 @@ inferType
|
||||
| main.rs:834:19:834:23 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:834:19:834:23 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:834:21:834:22 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:836:18:836:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:836:26:836:27 | x4 | | file://:0:0:0:0 | & |
|
||||
| main.rs:836:26:836:27 | x4 | &T | main.rs:800:5:801:19 | S |
|
||||
| main.rs:836:26:836:27 | x4 | &T.T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:836:26:836:32 | x4.m2() | | file://:0:0:0:0 | & |
|
||||
| main.rs:836:26:836:32 | x4.m2() | &T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:837:18:837:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:837:26:837:27 | x4 | | file://:0:0:0:0 | & |
|
||||
| main.rs:837:26:837:27 | x4 | &T | main.rs:800:5:801:19 | S |
|
||||
| main.rs:837:26:837:27 | x4 | &T.T | main.rs:803:5:804:14 | S2 |
|
||||
@@ -885,10 +980,12 @@ inferType
|
||||
| main.rs:839:19:839:23 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:839:19:839:23 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:839:21:839:22 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:841:18:841:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:841:26:841:27 | x5 | | file://:0:0:0:0 | & |
|
||||
| main.rs:841:26:841:27 | x5 | &T | main.rs:800:5:801:19 | S |
|
||||
| main.rs:841:26:841:27 | x5 | &T.T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:841:26:841:32 | x5.m1() | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:842:18:842:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:842:26:842:27 | x5 | | file://:0:0:0:0 | & |
|
||||
| main.rs:842:26:842:27 | x5 | &T | main.rs:800:5:801:19 | S |
|
||||
| main.rs:842:26:842:27 | x5 | &T.T | main.rs:803:5:804:14 | S2 |
|
||||
@@ -902,6 +999,7 @@ inferType
|
||||
| main.rs:844:19:844:23 | S(...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:844:19:844:23 | S(...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:844:21:844:22 | S2 | | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:846:18:846:23 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:846:26:846:30 | (...) | | main.rs:800:5:801:19 | S |
|
||||
| main.rs:846:26:846:30 | (...) | T | main.rs:803:5:804:14 | S2 |
|
||||
| main.rs:846:26:846:35 | ... .m1() | | main.rs:803:5:804:14 | S2 |
|
||||
@@ -1072,6 +1170,7 @@ inferType
|
||||
| main.rs:955:33:955:37 | value | | main.rs:953:20:953:27 | T |
|
||||
| main.rs:955:53:958:9 | { ... } | | file://:0:0:0:0 | Result |
|
||||
| main.rs:955:53:958:9 | { ... } | E | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:956:22:956:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:957:13:957:34 | ...::Ok::<...>(...) | | file://:0:0:0:0 | Result |
|
||||
| main.rs:957:13:957:34 | ...::Ok::<...>(...) | E | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:959:9:959:23 | ...::Err(...) | | file://:0:0:0:0 | Result |
|
||||
@@ -1081,12 +1180,15 @@ inferType
|
||||
| main.rs:963:37:963:52 | try_same_error(...) | | file://:0:0:0:0 | Result |
|
||||
| main.rs:963:37:963:52 | try_same_error(...) | E | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:963:37:963:52 | try_same_error(...) | T | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:964:22:964:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:967:37:967:55 | try_convert_error(...) | | file://:0:0:0:0 | Result |
|
||||
| main.rs:967:37:967:55 | try_convert_error(...) | E | main.rs:928:5:929:14 | S2 |
|
||||
| main.rs:967:37:967:55 | try_convert_error(...) | T | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:968:22:968:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:971:37:971:49 | try_chained(...) | | file://:0:0:0:0 | Result |
|
||||
| main.rs:971:37:971:49 | try_chained(...) | E | main.rs:928:5:929:14 | S2 |
|
||||
| main.rs:971:37:971:49 | try_chained(...) | T | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:972:22:972:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:975:37:975:63 | try_complex(...) | | file://:0:0:0:0 | Result |
|
||||
| main.rs:975:37:975:63 | try_complex(...) | E | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:975:37:975:63 | try_complex(...) | T | main.rs:925:5:926:14 | S1 |
|
||||
@@ -1094,7 +1196,27 @@ inferType
|
||||
| main.rs:975:49:975:62 | ...::Ok(...) | E | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:975:49:975:62 | ...::Ok(...) | T | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:975:60:975:61 | S1 | | main.rs:925:5:926:14 | S1 |
|
||||
| main.rs:983:5:983:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:984:5:984:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:984:20:984:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:984:41:984:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:976:22:976:27 | "{:?}\\n" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:983:13:983:13 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:983:22:983:22 | 1 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:984:13:984:13 | y | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:984:17:984:17 | 2 | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:985:17:985:17 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:985:21:985:21 | y | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:986:13:986:13 | z | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:986:17:986:17 | x | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:986:17:986:23 | x.abs() | | file:///BUILTINS/types.rs:12:1:12:15 | i32 |
|
||||
| main.rs:987:13:987:13 | c | | file:///BUILTINS/types.rs:6:1:7:16 | char |
|
||||
| main.rs:987:17:987:19 | 'c' | | file:///BUILTINS/types.rs:6:1:7:16 | char |
|
||||
| main.rs:988:13:988:17 | hello | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:988:21:988:27 | "Hello" | | file:///BUILTINS/types.rs:8:1:8:15 | str |
|
||||
| main.rs:989:13:989:13 | f | | file:///BUILTINS/types.rs:25:1:25:15 | f64 |
|
||||
| main.rs:989:17:989:24 | 123.0f64 | | file:///BUILTINS/types.rs:25:1:25:15 | f64 |
|
||||
| main.rs:990:13:990:13 | t | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:990:17:990:20 | true | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:991:13:991:13 | f | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:991:17:991:21 | false | | file:///BUILTINS/types.rs:3:1:5:16 | bool |
|
||||
| main.rs:997:5:997:20 | ...::f(...) | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:998:5:998:60 | ...::g(...) | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:998:20:998:38 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
|
||||
| main.rs:998:41:998:59 | ...::Foo {...} | | main.rs:67:5:67:21 | Foo |
|
||||
|
||||
@@ -3,7 +3,20 @@ import utils.test.InlineExpectationsTest
|
||||
import codeql.rust.internal.TypeInference as TypeInference
|
||||
import TypeInference
|
||||
|
||||
query predicate inferType(AstNode n, TypePath path, Type t) {
|
||||
final private class TypeFinal = Type;
|
||||
|
||||
class TypeLoc extends TypeFinal {
|
||||
predicate hasLocationInfo(
|
||||
string filepath, int startline, int startcolumn, int endline, int endcolumn
|
||||
) {
|
||||
exists(string file |
|
||||
this.getLocation().hasLocationInfo(file, startline, startcolumn, endline, endcolumn) and
|
||||
filepath = file.regexpReplaceAll("^/.*/tools/builtins/", "/BUILTINS/")
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
query predicate inferType(AstNode n, TypePath path, TypeLoc t) {
|
||||
t = TypeInference::inferType(n, path) and
|
||||
n.fromSource()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
multipleMethodCallTargets
|
||||
| main.rs:374:5:374:27 | ... .add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
| main.rs:374:5:374:27 | ... .add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
| main.rs:374:5:374:27 | ... .add_assign(...) | file://:0:0:0:0 | fn add_assign |
|
||||
| main.rs:374:5:374:27 | ... .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 |
|
||||
| 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 |
|
||||
Reference in New Issue
Block a user