Rust: Add more type inference tests

This commit is contained in:
Tom Hvitved
2025-10-07 14:49:53 +02:00
parent c84cec9d29
commit 00bf049c85
2 changed files with 404 additions and 5 deletions

View File

@@ -2696,6 +2696,52 @@ pub mod path_buf {
}
}
mod if_expr {
pub trait MyTrait<T: Sized> {
fn m(&self) -> T;
}
#[derive(Default)]
struct S<T>(T);
impl MyTrait<i32> for S<i32> {
fn m(&self) -> i32 {
self.0 // $ fieldof=S
}
}
impl MyTrait<i32> for S<S<i32>> {
fn m(&self) -> i32 {
self.0 .0 // $ fieldof=S
}
}
impl<T: Copy> S<T> {
fn m2(&self) -> S<S<T>> {
S(S(self.0)) // $ fieldof=S
}
}
pub fn f(b: bool) -> Box<dyn MyTrait<i32>> {
let x = if b {
let y = Default::default(); // $ target=default
y // $ type=y:T.i32
} else {
S(2)
};
// This code exhibits an explosion in type inference when type information is propagated
// from an `if` expression to its branches.
let x = S(1);
if b {
let x = x.m2(); // $ target=m2
Box::new(x) // $ target=new
} else {
Box::new(x) // $ target=new
}
}
}
mod blanket_impl;
mod closure;
mod dereference;
@@ -2733,4 +2779,5 @@ fn main() {
pattern_matching::test_all_patterns(); // $ target=test_all_patterns
pattern_matching_experimental::box_patterns(); // $ target=box_patterns
dyn_type::test(); // $ target=test
if_expr::f(true); // $ target=f
}

View File

@@ -5618,11 +5618,363 @@ inferType
| main.rs:2693:13:2693:20 | pathbuf1 | | main.rs:2668:5:2668:25 | PathBuf |
| main.rs:2693:24:2693:37 | ...::new(...) | | main.rs:2668:5:2668:25 | PathBuf |
| main.rs:2694:24:2694:31 | pathbuf1 | | main.rs:2668:5:2668:25 | PathBuf |
| main.rs:2706:5:2706:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo |
| main.rs:2707:5:2707:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo |
| main.rs:2707:20:2707:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
| main.rs:2707:41:2707:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
| main.rs:2723:5:2723:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future |
| main.rs:2701:14:2701:18 | SelfParam | | file://:0:0:0:0 | & |
| main.rs:2701:14:2701:18 | SelfParam | &T | main.rs:2700:5:2702:5 | Self [trait MyTrait] |
| main.rs:2708:14:2708:18 | SelfParam | | file://:0:0:0:0 | & |
| main.rs:2708:14:2708:18 | SelfParam | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2708:14:2708:18 | SelfParam | &T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2708:28:2710:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
| main.rs:2709:13:2709:16 | self | | file://:0:0:0:0 | & |
| main.rs:2709:13:2709:16 | self | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2709:13:2709:16 | self | &T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2709:13:2709:18 | self.0 | | {EXTERNAL LOCATION} | i32 |
| main.rs:2714:14:2714:18 | SelfParam | | file://:0:0:0:0 | & |
| main.rs:2714:14:2714:18 | SelfParam | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2714:14:2714:18 | SelfParam | &T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2714:14:2714:18 | SelfParam | &T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2714:28:2716:9 | { ... } | | {EXTERNAL LOCATION} | i32 |
| main.rs:2715:13:2715:16 | self | | file://:0:0:0:0 | & |
| main.rs:2715:13:2715:16 | self | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2715:13:2715:16 | self | &T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2715:13:2715:16 | self | &T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2715:13:2715:18 | self.0 | | main.rs:2704:5:2705:19 | S |
| main.rs:2715:13:2715:18 | self.0 | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2715:13:2715:21 | ... .0 | | {EXTERNAL LOCATION} | i32 |
| main.rs:2720:15:2720:19 | SelfParam | | file://:0:0:0:0 | & |
| main.rs:2720:15:2720:19 | SelfParam | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2720:15:2720:19 | SelfParam | &T.T | main.rs:2719:10:2719:16 | T |
| main.rs:2720:33:2722:9 | { ... } | | main.rs:2704:5:2705:19 | S |
| main.rs:2720:33:2722:9 | { ... } | T | main.rs:2704:5:2705:19 | S |
| main.rs:2720:33:2722:9 | { ... } | T.T | main.rs:2719:10:2719:16 | T |
| main.rs:2721:13:2721:24 | S(...) | | main.rs:2704:5:2705:19 | S |
| main.rs:2721:13:2721:24 | S(...) | T | main.rs:2704:5:2705:19 | S |
| main.rs:2721:13:2721:24 | S(...) | T.T | main.rs:2719:10:2719:16 | T |
| main.rs:2721:15:2721:23 | S(...) | | main.rs:2704:5:2705:19 | S |
| main.rs:2721:15:2721:23 | S(...) | T | main.rs:2719:10:2719:16 | T |
| main.rs:2721:17:2721:20 | self | | file://:0:0:0:0 | & |
| main.rs:2721:17:2721:20 | self | &T | main.rs:2704:5:2705:19 | S |
| main.rs:2721:17:2721:20 | self | &T.T | main.rs:2719:10:2719:16 | T |
| main.rs:2721:17:2721:22 | self.0 | | main.rs:2719:10:2719:16 | T |
| main.rs:2725:14:2725:14 | b | | {EXTERNAL LOCATION} | bool |
| main.rs:2725:48:2742:5 | { ... } | | {EXTERNAL LOCATION} | Box |
| main.rs:2725:48:2742:5 | { ... } | A | {EXTERNAL LOCATION} | Global |
| main.rs:2725:48:2742:5 | { ... } | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2725:48:2742:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2726:13:2726:13 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2726:13:2726:13 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2726:17:2731:9 | if b {...} else {...} | | main.rs:2704:5:2705:19 | S |
| main.rs:2726:17:2731:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2726:20:2726:20 | b | | {EXTERNAL LOCATION} | bool |
| main.rs:2726:22:2729:9 | { ... } | | main.rs:2704:5:2705:19 | S |
| main.rs:2726:22:2729:9 | { ... } | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2727:17:2727:17 | y | | main.rs:2704:5:2705:19 | S |
| main.rs:2727:17:2727:17 | y | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2727:21:2727:38 | ...::default(...) | | main.rs:2704:5:2705:19 | S |
| main.rs:2727:21:2727:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2728:13:2728:13 | y | | main.rs:2704:5:2705:19 | S |
| main.rs:2728:13:2728:13 | y | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2729:16:2731:9 | { ... } | | main.rs:2704:5:2705:19 | S |
| main.rs:2729:16:2731:9 | { ... } | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2730:13:2730:16 | S(...) | | main.rs:2704:5:2705:19 | S |
| main.rs:2730:13:2730:16 | S(...) | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2730:15:2730:15 | 2 | | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2735:13:2735:13 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:13:2735:13 | x | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:13:2735:13 | x | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2735:17:2735:20 | S(...) | | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:17:2735:20 | S(...) | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:17:2735:20 | S(...) | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2735:19:2735:19 | 1 | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box |
| main.rs:2736:9:2741:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:9:2741:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:12:2736:12 | b | | {EXTERNAL LOCATION} | bool |
| main.rs:2736:14:2739:9 | { ... } | | {EXTERNAL LOCATION} | Box |
| main.rs:2736:14:2739:9 | { ... } | A | {EXTERNAL LOCATION} | Global |
| main.rs:2736:14:2739:9 | { ... } | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2736:14:2739:9 | { ... } | T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2736:14:2739:9 | { ... } | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2736:14:2739:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2737:17:2737:17 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:17:2737:17 | x | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:17:2737:17 | x | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2737:21:2737:21 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:21 | x | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:21 | x | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2737:21:2737:26 | x.m2() | | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2737:21:2737:26 | x.m2() | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2737:21:2737:26 | x.m2() | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
| main.rs:2738:13:2738:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
| main.rs:2738:13:2738:23 | ...::new(...) | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2738:13:2738:23 | ...::new(...) | T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:13:2738:23 | ...::new(...) | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:13:2738:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2738:22:2738:22 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2738:22:2738:22 | x | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2738:22:2738:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | | {EXTERNAL LOCATION} | Box |
| main.rs:2739:16:2741:9 | { ... } | A | {EXTERNAL LOCATION} | Global |
| main.rs:2739:16:2741:9 | { ... } | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2739:16:2741:9 | { ... } | T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2739:16:2741:9 | { ... } | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2739:16:2741:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box |
| main.rs:2740:13:2740:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global |
| main.rs:2740:13:2740:23 | ...::new(...) | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2740:13:2740:23 | ...::new(...) | T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:13:2740:23 | ...::new(...) | T.T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:13:2740:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2740:22:2740:22 | x | | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T.T.T | {EXTERNAL LOCATION} | i32 |
| main.rs:2740:22:2740:22 | x | T.T.T.T.T.T.T.T.T | main.rs:2704:5:2705:19 | S |
| main.rs:2740:22:2740:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2752:5:2752:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo |
| main.rs:2753:5:2753:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo |
| main.rs:2753:20:2753:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
| main.rs:2753:41:2753:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo |
| main.rs:2769:5:2769:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future |
| main.rs:2782:5:2782:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box |
| main.rs:2782:5:2782:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global |
| main.rs:2782:5:2782:20 | ...::f(...) | T | main.rs:2700:5:2702:5 | dyn MyTrait |
| main.rs:2782:5:2782:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 |
| main.rs:2782:16:2782:19 | true | | {EXTERNAL LOCATION} | bool |
| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option |
| pattern_matching.rs:13:26:133:1 | { ... } | T | file://:0:0:0:0 | () |
| pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option |