From 330505c524997ada28e49459c37eeec9dd8f9ee2 Mon Sep 17 00:00:00 2001 From: Simon Friis Vindum Date: Mon, 19 Jan 2026 14:35:50 +0100 Subject: [PATCH] Rust: Add tests for associated types --- .../library-tests/path-resolution/main.rs | 65 + .../path-resolution/path-resolution.expected | 291 ++-- .../PathResolutionConsistency.expected | 5 + .../TypeInferenceConsistency.expected | 3 + .../type-inference/associated_types.rs | 114 +- .../type-inference/type-inference.expected | 1243 +++++++++-------- 6 files changed, 1032 insertions(+), 689 deletions(-) create mode 100644 rust/ql/test/library-tests/type-inference/CONSISTENCY/TypeInferenceConsistency.expected diff --git a/rust/ql/test/library-tests/path-resolution/main.rs b/rust/ql/test/library-tests/path-resolution/main.rs index f428f851c31..3397d3a7000 100644 --- a/rust/ql/test/library-tests/path-resolution/main.rs +++ b/rust/ql/test/library-tests/path-resolution/main.rs @@ -877,6 +877,71 @@ mod associated_types { } } +mod associated_types_subtrait { + trait Super { + type Out; // SuperAssoc + } // Super + + trait Sub: Super // $ item=Super + { + fn f() -> Self::Out // $ item=SuperAssoc + ; // Sub_f + } // Sub + + struct S( + ST, // $ item=ST + ); + + #[rustfmt::skip] + impl Super for S { // $ item=Super item=S item=i32 + type Out = char // $ item=char + ; // S::Out + } + + #[rustfmt::skip] + impl Super for S { // $ item=Super item=S item=bool + type Out = i64 // $ item=i64 + ; // S::Out + } + + #[rustfmt::skip] + impl Sub for S { // $ item=Sub item=S item=i32 + fn f() -> Self::Out { // $ MISSING: item=SuperAssoc SPURIOUS: item=S::Out item=S::Out item=S::Out + 'a' + } + } + + #[rustfmt::skip] + impl Sub for S { // $ item=Sub item=S item=bool + fn f() -> Self::Out { // $ MISSING: item=SuperAssoc SPURIOUS: item=S::Out item=S::Out item=S::Out + 1 + } + } + + trait SuperAlt { + type Out; // SuperAltAssoc + } // SuperAlt + + trait SubAlt: SuperAlt // $ item=SuperAlt + { + fn f(self) -> Self::Out // $ item=SuperAltAssoc + ; // SubAlt_f + } // SubAlt + + #[rustfmt::skip] + impl SuperAlt for S { // $ item=SuperAlt item=S item=A + type Out = A // $ item=A + ; // S::Out + } + + #[rustfmt::skip] + impl SubAlt for S { // $ item=SubAlt item=S item=A + fn f(self) -> Self::Out { // $ MISSING: item=SuperAltAssoc SPURIOUS: item=S::Out item=S::Out item=S::Out + self.0 + } + } +} + use std::{self as ztd}; // $ item=std fn use_ztd(x: ztd::string::String) {} // $ item=String diff --git a/rust/ql/test/library-tests/path-resolution/path-resolution.expected b/rust/ql/test/library-tests/path-resolution/path-resolution.expected index ad581e8bf93..00d38d6e70d 100644 --- a/rust/ql/test/library-tests/path-resolution/path-resolution.expected +++ b/rust/ql/test/library-tests/path-resolution/path-resolution.expected @@ -31,9 +31,10 @@ mod | main.rs:714:1:739:1 | mod m23 | | main.rs:741:1:809:1 | mod m24 | | main.rs:826:1:878:1 | mod associated_types | -| main.rs:884:1:903:1 | mod impl_with_attribute_macro | -| main.rs:905:1:946:1 | mod patterns | -| main.rs:948:1:992:1 | mod self_constructors | +| main.rs:880:1:943:1 | mod associated_types_subtrait | +| main.rs:949:1:968:1 | mod impl_with_attribute_macro | +| main.rs:970:1:1011:1 | mod patterns | +| main.rs:1013:1:1057:1 | mod self_constructors | | my2/mod.rs:1:1:1:16 | mod nested2 | | my2/mod.rs:20:1:20:12 | mod my3 | | my2/mod.rs:22:1:23:10 | mod mymod | @@ -74,7 +75,7 @@ resolvePath | main.rs:37:17:37:24 | ...::f | main.rs:26:9:28:9 | fn f | | main.rs:39:17:39:23 | println | {EXTERNAL LOCATION} | MacroRules | | main.rs:40:17:40:17 | f | main.rs:26:9:28:9 | fn f | -| main.rs:47:9:47:13 | super | main.rs:1:1:1031:2 | SourceFile | +| main.rs:47:9:47:13 | super | main.rs:1:1:1096:2 | SourceFile | | main.rs:47:9:47:17 | ...::m1 | main.rs:20:1:44:1 | mod m1 | | main.rs:47:9:47:21 | ...::m2 | main.rs:25:5:43:5 | mod m2 | | main.rs:47:9:47:24 | ...::g | main.rs:30:9:34:9 | fn g | @@ -89,7 +90,7 @@ resolvePath | main.rs:68:17:68:19 | Foo | main.rs:66:9:66:21 | struct Foo | | main.rs:71:13:71:15 | Foo | main.rs:60:5:60:17 | struct Foo | | main.rs:73:5:73:5 | f | main.rs:62:5:69:5 | fn f | -| main.rs:75:5:75:8 | self | main.rs:1:1:1031:2 | SourceFile | +| main.rs:75:5:75:8 | self | main.rs:1:1:1096:2 | SourceFile | | main.rs:75:5:75:11 | ...::i | main.rs:78:1:90:1 | fn i | | main.rs:79:5:79:11 | println | {EXTERNAL LOCATION} | MacroRules | | main.rs:81:13:81:15 | Foo | main.rs:55:1:55:13 | struct Foo | @@ -111,7 +112,7 @@ resolvePath | main.rs:112:9:112:15 | println | {EXTERNAL LOCATION} | MacroRules | | main.rs:118:9:118:15 | println | {EXTERNAL LOCATION} | MacroRules | | main.rs:122:9:122:15 | println | {EXTERNAL LOCATION} | MacroRules | -| main.rs:125:13:125:17 | super | main.rs:1:1:1031:2 | SourceFile | +| main.rs:125:13:125:17 | super | main.rs:1:1:1096:2 | SourceFile | | main.rs:125:13:125:21 | ...::m5 | main.rs:110:1:114:1 | mod m5 | | main.rs:126:9:126:9 | f | main.rs:111:5:113:5 | fn f | | main.rs:126:9:126:9 | f | main.rs:117:5:119:5 | fn f | @@ -452,124 +453,164 @@ resolvePath | main.rs:872:13:872:24 | ...::Output | main.rs:863:11:866:9 | type Output | | main.rs:873:13:873:16 | Self | main.rs:840:5:843:5 | struct MyImpl | | main.rs:873:13:873:23 | ...::Error | main.rs:859:11:863:9 | type Error | -| main.rs:880:5:880:7 | std | {EXTERNAL LOCATION} | Crate(std@0.0.0) | -| main.rs:880:11:880:14 | self | {EXTERNAL LOCATION} | Crate(std@0.0.0) | -| main.rs:882:15:882:17 | ztd | {EXTERNAL LOCATION} | Crate(std@0.0.0) | -| main.rs:882:15:882:25 | ...::string | {EXTERNAL LOCATION} | mod string | -| main.rs:882:15:882:33 | ...::String | {EXTERNAL LOCATION} | struct String | -| main.rs:892:7:892:16 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | -| main.rs:892:7:892:26 | ...::identity | proc_macro.rs:15:1:18:1 | fn identity | -| main.rs:893:10:893:15 | ATrait | main.rs:888:5:890:5 | trait ATrait | -| main.rs:893:21:893:23 | i64 | {EXTERNAL LOCATION} | struct i64 | -| main.rs:895:11:895:13 | i64 | {EXTERNAL LOCATION} | struct i64 | -| main.rs:901:17:901:19 | Foo | main.rs:886:5:886:15 | struct Foo | -| main.rs:907:22:907:32 | Option::<...> | {EXTERNAL LOCATION} | enum Option | -| main.rs:907:29:907:31 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:908:17:908:20 | Some | {EXTERNAL LOCATION} | Some | -| main.rs:909:17:909:27 | Option::<...> | {EXTERNAL LOCATION} | enum Option | -| main.rs:909:24:909:26 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:910:13:910:16 | Some | {EXTERNAL LOCATION} | Some | -| main.rs:911:17:911:20 | None | {EXTERNAL LOCATION} | None | -| main.rs:913:13:913:16 | None | {EXTERNAL LOCATION} | None | -| main.rs:914:17:914:20 | None | {EXTERNAL LOCATION} | None | -| main.rs:923:19:923:29 | Option::<...> | {EXTERNAL LOCATION} | enum Option | -| main.rs:923:26:923:28 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:924:26:924:29 | test | main.rs:906:5:920:5 | fn test | -| main.rs:930:14:930:16 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:935:17:935:20 | Some | {EXTERNAL LOCATION} | Some | -| main.rs:937:13:937:16 | Some | {EXTERNAL LOCATION} | Some | -| main.rs:942:13:942:16 | Some | {EXTERNAL LOCATION} | Some | -| main.rs:942:18:942:18 | z | main.rs:929:5:931:12 | Const | -| main.rs:942:24:942:24 | z | main.rs:929:5:931:12 | Const | -| main.rs:950:24:950:26 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:953:10:953:20 | TupleStruct | main.rs:950:5:950:28 | struct TupleStruct | -| main.rs:955:19:955:21 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:955:27:955:30 | Self | main.rs:950:5:950:28 | struct TupleStruct | -| main.rs:956:21:956:24 | Self | main.rs:950:5:950:28 | struct TupleStruct | -| main.rs:957:31:957:34 | Self | main.rs:950:5:950:28 | struct TupleStruct | -| main.rs:963:12:963:14 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:967:10:967:21 | StructStruct | main.rs:962:5:964:5 | struct StructStruct | -| main.rs:969:19:969:21 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:969:27:969:30 | Self | main.rs:962:5:964:5 | struct StructStruct | -| main.rs:970:13:970:16 | Self | main.rs:962:5:964:5 | struct StructStruct | -| main.rs:976:13:976:15 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:981:10:981:15 | MyEnum | main.rs:974:5:978:5 | enum MyEnum | -| main.rs:982:25:982:27 | i32 | {EXTERNAL LOCATION} | struct i32 | -| main.rs:984:17:984:20 | Self | main.rs:974:5:978:5 | enum MyEnum | -| main.rs:984:17:984:23 | ...::A | main.rs:975:9:977:9 | A | -| main.rs:995:5:995:6 | my | main.rs:1:1:1:7 | mod my | -| main.rs:995:5:995:14 | ...::nested | my.rs:1:1:1:15 | mod nested | -| main.rs:995:5:995:23 | ...::nested1 | my/nested.rs:1:1:17:1 | mod nested1 | -| main.rs:995:5:995:32 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 | -| main.rs:995:5:995:35 | ...::f | my/nested.rs:3:9:5:9 | fn f | -| main.rs:996:5:996:6 | my | main.rs:1:1:1:7 | mod my | -| main.rs:996:5:996:9 | ...::f | my.rs:5:1:7:1 | fn f | -| main.rs:997:5:997:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 | -| main.rs:997:5:997:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 | -| main.rs:997:5:997:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 | -| main.rs:997:5:997:32 | ...::f | my2/nested2.rs:3:9:5:9 | fn f | -| main.rs:998:5:998:5 | f | my2/nested2.rs:3:9:5:9 | fn f | -| main.rs:999:5:999:5 | g | my2/nested2.rs:7:9:9:9 | fn g | -| main.rs:1000:5:1000:9 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) | -| main.rs:1000:5:1000:12 | ...::h | main.rs:57:1:76:1 | fn h | -| main.rs:1001:5:1001:6 | m1 | main.rs:20:1:44:1 | mod m1 | -| main.rs:1001:5:1001:10 | ...::m2 | main.rs:25:5:43:5 | mod m2 | -| main.rs:1001:5:1001:13 | ...::g | main.rs:30:9:34:9 | fn g | -| main.rs:1002:5:1002:6 | m1 | main.rs:20:1:44:1 | mod m1 | -| main.rs:1002:5:1002:10 | ...::m2 | main.rs:25:5:43:5 | mod m2 | -| main.rs:1002:5:1002:14 | ...::m3 | main.rs:36:9:42:9 | mod m3 | -| main.rs:1002:5:1002:17 | ...::h | main.rs:37:27:41:13 | fn h | -| main.rs:1003:5:1003:6 | m4 | main.rs:46:1:53:1 | mod m4 | -| main.rs:1003:5:1003:9 | ...::i | main.rs:49:5:52:5 | fn i | -| main.rs:1004:5:1004:5 | h | main.rs:57:1:76:1 | fn h | -| main.rs:1005:5:1005:11 | f_alias | my2/nested2.rs:3:9:5:9 | fn f | -| main.rs:1006:5:1006:11 | g_alias | my2/nested2.rs:7:9:9:9 | fn g | -| main.rs:1007:5:1007:5 | j | main.rs:104:1:108:1 | fn j | -| main.rs:1008:5:1008:6 | m6 | main.rs:116:1:128:1 | mod m6 | -| main.rs:1008:5:1008:9 | ...::g | main.rs:121:5:127:5 | fn g | -| main.rs:1009:5:1009:6 | m7 | main.rs:130:1:149:1 | mod m7 | -| main.rs:1009:5:1009:9 | ...::f | main.rs:141:5:148:5 | fn f | -| main.rs:1010:5:1010:6 | m8 | main.rs:151:1:205:1 | mod m8 | -| main.rs:1010:5:1010:9 | ...::g | main.rs:189:5:204:5 | fn g | -| main.rs:1011:5:1011:6 | m9 | main.rs:207:1:215:1 | mod m9 | -| main.rs:1011:5:1011:9 | ...::f | main.rs:210:5:214:5 | fn f | -| main.rs:1012:5:1012:7 | m11 | main.rs:238:1:275:1 | mod m11 | -| main.rs:1012:5:1012:10 | ...::f | main.rs:243:5:246:5 | fn f | -| main.rs:1013:5:1013:7 | m15 | main.rs:306:1:375:1 | mod m15 | -| main.rs:1013:5:1013:10 | ...::f | main.rs:362:5:374:5 | fn f | -| main.rs:1014:5:1014:7 | m16 | main.rs:377:1:574:1 | mod m16 | -| main.rs:1014:5:1014:10 | ...::f | main.rs:446:5:470:5 | fn f | -| main.rs:1015:5:1015:20 | trait_visibility | main.rs:576:1:633:1 | mod trait_visibility | -| main.rs:1015:5:1015:23 | ...::f | main.rs:603:5:632:5 | fn f | -| main.rs:1016:5:1016:7 | m17 | main.rs:635:1:665:1 | mod m17 | -| main.rs:1016:5:1016:10 | ...::f | main.rs:659:5:664:5 | fn f | -| main.rs:1017:5:1017:11 | nested6 | my2/nested2.rs:14:5:18:5 | mod nested6 | -| main.rs:1017:5:1017:14 | ...::f | my2/nested2.rs:15:9:17:9 | fn f | -| main.rs:1018:5:1018:11 | nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 | -| main.rs:1018:5:1018:14 | ...::f | my2/nested2.rs:23:9:25:9 | fn f | -| main.rs:1019:5:1019:7 | my3 | my2/mod.rs:20:1:20:12 | mod my3 | -| main.rs:1019:5:1019:10 | ...::f | my2/my3/mod.rs:1:1:5:1 | fn f | -| main.rs:1020:5:1020:12 | nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f | -| main.rs:1021:5:1021:12 | my_alias | main.rs:1:1:1:7 | mod my | -| main.rs:1021:5:1021:22 | ...::nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f | -| main.rs:1022:5:1022:7 | m18 | main.rs:667:1:685:1 | mod m18 | -| main.rs:1022:5:1022:12 | ...::m19 | main.rs:672:5:684:5 | mod m19 | -| main.rs:1022:5:1022:17 | ...::m20 | main.rs:677:9:683:9 | mod m20 | -| main.rs:1022:5:1022:20 | ...::g | main.rs:678:13:682:13 | fn g | -| main.rs:1023:5:1023:7 | m23 | main.rs:714:1:739:1 | mod m23 | -| main.rs:1023:5:1023:10 | ...::f | main.rs:734:5:738:5 | fn f | -| main.rs:1024:5:1024:7 | m24 | main.rs:741:1:809:1 | mod m24 | -| main.rs:1024:5:1024:10 | ...::f | main.rs:795:5:808:5 | fn f | -| main.rs:1025:5:1025:8 | zelf | main.rs:0:0:0:0 | Crate(main@0.0.1) | -| main.rs:1025:5:1025:11 | ...::h | main.rs:57:1:76:1 | fn h | -| main.rs:1026:5:1026:13 | z_changed | main.rs:814:1:814:9 | fn z_changed | -| main.rs:1027:5:1027:11 | AStruct | main.rs:816:1:816:17 | struct AStruct | -| main.rs:1027:5:1027:22 | ...::z_on_type | main.rs:820:5:820:17 | fn z_on_type | -| main.rs:1028:5:1028:11 | AStruct | main.rs:816:1:816:17 | struct AStruct | -| main.rs:1029:5:1029:29 | impl_with_attribute_macro | main.rs:884:1:903:1 | mod impl_with_attribute_macro | -| main.rs:1029:5:1029:35 | ...::test | main.rs:899:5:902:5 | fn test | -| main.rs:1030:5:1030:12 | patterns | main.rs:905:1:946:1 | mod patterns | -| main.rs:1030:5:1030:18 | ...::test | main.rs:906:5:920:5 | fn test | +| main.rs:885:16:885:20 | Super | main.rs:881:5:883:5 | trait Super | +| main.rs:887:19:887:22 | Self | main.rs:885:5:889:5 | trait Sub | +| main.rs:887:19:887:27 | ...::Out | main.rs:882:9:882:17 | type Out | +| main.rs:892:9:892:10 | ST | main.rs:891:14:891:15 | ST | +| main.rs:896:10:896:14 | Super | main.rs:881:5:883:5 | trait Super | +| main.rs:896:20:896:25 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:896:22:896:24 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:897:20:897:23 | char | {EXTERNAL LOCATION} | struct char | +| main.rs:902:10:902:14 | Super | main.rs:881:5:883:5 | trait Super | +| main.rs:902:20:902:26 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:902:22:902:25 | bool | {EXTERNAL LOCATION} | struct bool | +| main.rs:903:20:903:22 | i64 | {EXTERNAL LOCATION} | struct i64 | +| main.rs:908:10:908:12 | Sub | main.rs:885:5:889:5 | trait Sub | +| main.rs:908:18:908:23 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:908:20:908:22 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:909:19:909:22 | Self | main.rs:891:5:893:6 | struct S | +| main.rs:909:19:909:27 | ...::Out | main.rs:896:29:898:9 | type Out | +| main.rs:909:19:909:27 | ...::Out | main.rs:902:30:904:9 | type Out | +| main.rs:909:19:909:27 | ...::Out | main.rs:932:33:934:9 | type Out | +| main.rs:915:10:915:12 | Sub | main.rs:885:5:889:5 | trait Sub | +| main.rs:915:18:915:24 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:915:20:915:23 | bool | {EXTERNAL LOCATION} | struct bool | +| main.rs:916:19:916:22 | Self | main.rs:891:5:893:6 | struct S | +| main.rs:916:19:916:27 | ...::Out | main.rs:896:29:898:9 | type Out | +| main.rs:916:19:916:27 | ...::Out | main.rs:902:30:904:9 | type Out | +| main.rs:916:19:916:27 | ...::Out | main.rs:932:33:934:9 | type Out | +| main.rs:925:19:925:26 | SuperAlt | main.rs:921:5:923:5 | trait SuperAlt | +| main.rs:927:23:927:26 | Self | main.rs:925:5:929:5 | trait SubAlt | +| main.rs:927:23:927:31 | ...::Out | main.rs:922:9:922:17 | type Out | +| main.rs:932:13:932:20 | SuperAlt | main.rs:921:5:923:5 | trait SuperAlt | +| main.rs:932:26:932:29 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:932:28:932:28 | A | main.rs:932:10:932:10 | A | +| main.rs:933:20:933:20 | A | main.rs:932:10:932:10 | A | +| main.rs:938:13:938:18 | SubAlt | main.rs:925:5:929:5 | trait SubAlt | +| main.rs:938:24:938:27 | S::<...> | main.rs:891:5:893:6 | struct S | +| main.rs:938:26:938:26 | A | main.rs:938:10:938:10 | A | +| main.rs:939:23:939:26 | Self | main.rs:891:5:893:6 | struct S | +| main.rs:939:23:939:31 | ...::Out | main.rs:896:29:898:9 | type Out | +| main.rs:939:23:939:31 | ...::Out | main.rs:902:30:904:9 | type Out | +| main.rs:939:23:939:31 | ...::Out | main.rs:932:33:934:9 | type Out | +| main.rs:945:5:945:7 | std | {EXTERNAL LOCATION} | Crate(std@0.0.0) | +| main.rs:945:11:945:14 | self | {EXTERNAL LOCATION} | Crate(std@0.0.0) | +| main.rs:947:15:947:17 | ztd | {EXTERNAL LOCATION} | Crate(std@0.0.0) | +| main.rs:947:15:947:25 | ...::string | {EXTERNAL LOCATION} | mod string | +| main.rs:947:15:947:33 | ...::String | {EXTERNAL LOCATION} | struct String | +| main.rs:957:7:957:16 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | +| main.rs:957:7:957:26 | ...::identity | proc_macro.rs:15:1:18:1 | fn identity | +| main.rs:958:10:958:15 | ATrait | main.rs:953:5:955:5 | trait ATrait | +| main.rs:958:21:958:23 | i64 | {EXTERNAL LOCATION} | struct i64 | +| main.rs:960:11:960:13 | i64 | {EXTERNAL LOCATION} | struct i64 | +| main.rs:966:17:966:19 | Foo | main.rs:951:5:951:15 | struct Foo | +| main.rs:972:22:972:32 | Option::<...> | {EXTERNAL LOCATION} | enum Option | +| main.rs:972:29:972:31 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:973:17:973:20 | Some | {EXTERNAL LOCATION} | Some | +| main.rs:974:17:974:27 | Option::<...> | {EXTERNAL LOCATION} | enum Option | +| main.rs:974:24:974:26 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:975:13:975:16 | Some | {EXTERNAL LOCATION} | Some | +| main.rs:976:17:976:20 | None | {EXTERNAL LOCATION} | None | +| main.rs:978:13:978:16 | None | {EXTERNAL LOCATION} | None | +| main.rs:979:17:979:20 | None | {EXTERNAL LOCATION} | None | +| main.rs:988:19:988:29 | Option::<...> | {EXTERNAL LOCATION} | enum Option | +| main.rs:988:26:988:28 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:989:26:989:29 | test | main.rs:971:5:985:5 | fn test | +| main.rs:995:14:995:16 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1000:17:1000:20 | Some | {EXTERNAL LOCATION} | Some | +| main.rs:1002:13:1002:16 | Some | {EXTERNAL LOCATION} | Some | +| main.rs:1007:13:1007:16 | Some | {EXTERNAL LOCATION} | Some | +| main.rs:1007:18:1007:18 | z | main.rs:994:5:996:12 | Const | +| main.rs:1007:24:1007:24 | z | main.rs:994:5:996:12 | Const | +| main.rs:1015:24:1015:26 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1018:10:1018:20 | TupleStruct | main.rs:1015:5:1015:28 | struct TupleStruct | +| main.rs:1020:19:1020:21 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1020:27:1020:30 | Self | main.rs:1015:5:1015:28 | struct TupleStruct | +| main.rs:1021:21:1021:24 | Self | main.rs:1015:5:1015:28 | struct TupleStruct | +| main.rs:1022:31:1022:34 | Self | main.rs:1015:5:1015:28 | struct TupleStruct | +| main.rs:1028:12:1028:14 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1032:10:1032:21 | StructStruct | main.rs:1027:5:1029:5 | struct StructStruct | +| main.rs:1034:19:1034:21 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1034:27:1034:30 | Self | main.rs:1027:5:1029:5 | struct StructStruct | +| main.rs:1035:13:1035:16 | Self | main.rs:1027:5:1029:5 | struct StructStruct | +| main.rs:1041:13:1041:15 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1046:10:1046:15 | MyEnum | main.rs:1039:5:1043:5 | enum MyEnum | +| main.rs:1047:25:1047:27 | i32 | {EXTERNAL LOCATION} | struct i32 | +| main.rs:1049:17:1049:20 | Self | main.rs:1039:5:1043:5 | enum MyEnum | +| main.rs:1049:17:1049:23 | ...::A | main.rs:1040:9:1042:9 | A | +| main.rs:1060:5:1060:6 | my | main.rs:1:1:1:7 | mod my | +| main.rs:1060:5:1060:14 | ...::nested | my.rs:1:1:1:15 | mod nested | +| main.rs:1060:5:1060:23 | ...::nested1 | my/nested.rs:1:1:17:1 | mod nested1 | +| main.rs:1060:5:1060:32 | ...::nested2 | my/nested.rs:2:5:11:5 | mod nested2 | +| main.rs:1060:5:1060:35 | ...::f | my/nested.rs:3:9:5:9 | fn f | +| main.rs:1061:5:1061:6 | my | main.rs:1:1:1:7 | mod my | +| main.rs:1061:5:1061:9 | ...::f | my.rs:5:1:7:1 | fn f | +| main.rs:1062:5:1062:11 | nested2 | my2/mod.rs:1:1:1:16 | mod nested2 | +| main.rs:1062:5:1062:20 | ...::nested3 | my2/nested2.rs:1:1:11:1 | mod nested3 | +| main.rs:1062:5:1062:29 | ...::nested4 | my2/nested2.rs:2:5:10:5 | mod nested4 | +| main.rs:1062:5:1062:32 | ...::f | my2/nested2.rs:3:9:5:9 | fn f | +| main.rs:1063:5:1063:5 | f | my2/nested2.rs:3:9:5:9 | fn f | +| main.rs:1064:5:1064:5 | g | my2/nested2.rs:7:9:9:9 | fn g | +| main.rs:1065:5:1065:9 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) | +| main.rs:1065:5:1065:12 | ...::h | main.rs:57:1:76:1 | fn h | +| main.rs:1066:5:1066:6 | m1 | main.rs:20:1:44:1 | mod m1 | +| main.rs:1066:5:1066:10 | ...::m2 | main.rs:25:5:43:5 | mod m2 | +| main.rs:1066:5:1066:13 | ...::g | main.rs:30:9:34:9 | fn g | +| main.rs:1067:5:1067:6 | m1 | main.rs:20:1:44:1 | mod m1 | +| main.rs:1067:5:1067:10 | ...::m2 | main.rs:25:5:43:5 | mod m2 | +| main.rs:1067:5:1067:14 | ...::m3 | main.rs:36:9:42:9 | mod m3 | +| main.rs:1067:5:1067:17 | ...::h | main.rs:37:27:41:13 | fn h | +| main.rs:1068:5:1068:6 | m4 | main.rs:46:1:53:1 | mod m4 | +| main.rs:1068:5:1068:9 | ...::i | main.rs:49:5:52:5 | fn i | +| main.rs:1069:5:1069:5 | h | main.rs:57:1:76:1 | fn h | +| main.rs:1070:5:1070:11 | f_alias | my2/nested2.rs:3:9:5:9 | fn f | +| main.rs:1071:5:1071:11 | g_alias | my2/nested2.rs:7:9:9:9 | fn g | +| main.rs:1072:5:1072:5 | j | main.rs:104:1:108:1 | fn j | +| main.rs:1073:5:1073:6 | m6 | main.rs:116:1:128:1 | mod m6 | +| main.rs:1073:5:1073:9 | ...::g | main.rs:121:5:127:5 | fn g | +| main.rs:1074:5:1074:6 | m7 | main.rs:130:1:149:1 | mod m7 | +| main.rs:1074:5:1074:9 | ...::f | main.rs:141:5:148:5 | fn f | +| main.rs:1075:5:1075:6 | m8 | main.rs:151:1:205:1 | mod m8 | +| main.rs:1075:5:1075:9 | ...::g | main.rs:189:5:204:5 | fn g | +| main.rs:1076:5:1076:6 | m9 | main.rs:207:1:215:1 | mod m9 | +| main.rs:1076:5:1076:9 | ...::f | main.rs:210:5:214:5 | fn f | +| main.rs:1077:5:1077:7 | m11 | main.rs:238:1:275:1 | mod m11 | +| main.rs:1077:5:1077:10 | ...::f | main.rs:243:5:246:5 | fn f | +| main.rs:1078:5:1078:7 | m15 | main.rs:306:1:375:1 | mod m15 | +| main.rs:1078:5:1078:10 | ...::f | main.rs:362:5:374:5 | fn f | +| main.rs:1079:5:1079:7 | m16 | main.rs:377:1:574:1 | mod m16 | +| main.rs:1079:5:1079:10 | ...::f | main.rs:446:5:470:5 | fn f | +| main.rs:1080:5:1080:20 | trait_visibility | main.rs:576:1:633:1 | mod trait_visibility | +| main.rs:1080:5:1080:23 | ...::f | main.rs:603:5:632:5 | fn f | +| main.rs:1081:5:1081:7 | m17 | main.rs:635:1:665:1 | mod m17 | +| main.rs:1081:5:1081:10 | ...::f | main.rs:659:5:664:5 | fn f | +| main.rs:1082:5:1082:11 | nested6 | my2/nested2.rs:14:5:18:5 | mod nested6 | +| main.rs:1082:5:1082:14 | ...::f | my2/nested2.rs:15:9:17:9 | fn f | +| main.rs:1083:5:1083:11 | nested8 | my2/nested2.rs:22:5:26:5 | mod nested8 | +| main.rs:1083:5:1083:14 | ...::f | my2/nested2.rs:23:9:25:9 | fn f | +| main.rs:1084:5:1084:7 | my3 | my2/mod.rs:20:1:20:12 | mod my3 | +| main.rs:1084:5:1084:10 | ...::f | my2/my3/mod.rs:1:1:5:1 | fn f | +| main.rs:1085:5:1085:12 | nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f | +| main.rs:1086:5:1086:12 | my_alias | main.rs:1:1:1:7 | mod my | +| main.rs:1086:5:1086:22 | ...::nested_f | my/my4/my5/mod.rs:1:1:3:1 | fn f | +| main.rs:1087:5:1087:7 | m18 | main.rs:667:1:685:1 | mod m18 | +| main.rs:1087:5:1087:12 | ...::m19 | main.rs:672:5:684:5 | mod m19 | +| main.rs:1087:5:1087:17 | ...::m20 | main.rs:677:9:683:9 | mod m20 | +| main.rs:1087:5:1087:20 | ...::g | main.rs:678:13:682:13 | fn g | +| main.rs:1088:5:1088:7 | m23 | main.rs:714:1:739:1 | mod m23 | +| main.rs:1088:5:1088:10 | ...::f | main.rs:734:5:738:5 | fn f | +| main.rs:1089:5:1089:7 | m24 | main.rs:741:1:809:1 | mod m24 | +| main.rs:1089:5:1089:10 | ...::f | main.rs:795:5:808:5 | fn f | +| main.rs:1090:5:1090:8 | zelf | main.rs:0:0:0:0 | Crate(main@0.0.1) | +| main.rs:1090:5:1090:11 | ...::h | main.rs:57:1:76:1 | fn h | +| main.rs:1091:5:1091:13 | z_changed | main.rs:814:1:814:9 | fn z_changed | +| main.rs:1092:5:1092:11 | AStruct | main.rs:816:1:816:17 | struct AStruct | +| main.rs:1092:5:1092:22 | ...::z_on_type | main.rs:820:5:820:17 | fn z_on_type | +| main.rs:1093:5:1093:11 | AStruct | main.rs:816:1:816:17 | struct AStruct | +| main.rs:1094:5:1094:29 | impl_with_attribute_macro | main.rs:949:1:968:1 | mod impl_with_attribute_macro | +| main.rs:1094:5:1094:35 | ...::test | main.rs:964:5:967:5 | fn test | +| main.rs:1095:5:1095:12 | patterns | main.rs:970:1:1011:1 | mod patterns | +| main.rs:1095:5:1095:18 | ...::test | main.rs:971:5:985:5 | fn test | | my2/mod.rs:4:5:4:11 | println | {EXTERNAL LOCATION} | MacroRules | | 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 | @@ -595,7 +636,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:57:1:76:1 | fn h | | my2/my3/mod.rs:7:5:7:9 | super | my2/mod.rs:1:1:25:34 | SourceFile | -| my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:1031:2 | SourceFile | +| my2/my3/mod.rs:7:5:7:16 | ...::super | main.rs:1:1:1096:2 | SourceFile | | my2/my3/mod.rs:7:5:7:19 | ...::h | main.rs:57:1:76:1 | fn h | | my2/my3/mod.rs:8:5:8:9 | super | my2/mod.rs:1:1:25:34 | SourceFile | | my2/my3/mod.rs:8:5:8:12 | ...::g | my2/mod.rs:3:1:6:1 | fn g | diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index 97dfe4bc278..7b751c9ea8b 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -1,2 +1,7 @@ multipleResolvedTargets +| associated_types.rs:393:13:393:30 | ...::default(...) | +| associated_types.rs:400:13:400:30 | ...::default(...) | | main.rs:2871:13:2871:17 | x.f() | +multiplePathResolutions +| associated_types.rs:391:34:391:45 | ...::Output | +| associated_types.rs:399:34:399:45 | ...::Output | diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/TypeInferenceConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/TypeInferenceConsistency.expected new file mode 100644 index 00000000000..f2551bcad6c --- /dev/null +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/TypeInferenceConsistency.expected @@ -0,0 +1,3 @@ +nonUniqueCertainType +| associated_types.rs:391:47:394:9 | { ... } | | +| associated_types.rs:399:47:401:9 | { ... } | | diff --git a/rust/ql/test/library-tests/type-inference/associated_types.rs b/rust/ql/test/library-tests/type-inference/associated_types.rs index b08be0264a0..b517b63403f 100644 --- a/rust/ql/test/library-tests/type-inference/associated_types.rs +++ b/rust/ql/test/library-tests/type-inference/associated_types.rs @@ -46,6 +46,15 @@ impl GetSet for S { } } +impl AnotherGet for S { + type AnotherOutput = bool; + + // S::get_another + fn get_another(&self) -> Self::AnotherOutput { + true + } +} + impl GetSet for Wrapper { type Output = T; @@ -55,6 +64,24 @@ impl GetSet for Wrapper { } } +struct Odd(OddT); + +impl GetSet for Odd { + type Output = bool; + + fn get(&self) -> Self::Output { + true + } +} + +impl GetSet for Odd { + type Output = char; + + fn get(&self) -> Self::Output { + 'a' + } +} + mod default_method_using_associated_type { use super::*; @@ -110,7 +137,62 @@ mod default_method_using_associated_type { } } -// Tests for signatures that access associated types from type parameters +mod concrete_type_access_associated_type { + use super::*; + + fn using_as( + a: ::Output, + b: as GetSet>::Output, + c: as GetSet>::Output, + d: as GetSet>::Output, + ) { + let _a = a; // $ MISSING: type=_a:S3 + let _b = b; // $ MISSING: type=_b:i32 + let _c = c; // $ MISSING: type=_c:bool + let _d = d; // $ MISSING: type=_d:char + } + + // NOTE: The below seems like it should work, but is currently rejected by + // the Rust compiler. This behavior does not seem to be documented and + // there's an open issue about it: + // https://github.com/rust-lang/rust/issues/104119 + // fn without_as( + // a: S::Output, + // b: Wrapper::Output, + // c: Odd::Output, + // d: Odd::Output, + // ) { + // let _a = a; // $ type=_a:S3 + // let _b = b; // $ type=_b:i32 + // let _c = c; // $ type=_c:bool + // let _d = d; // $ type=_d:char + // } + + impl Odd { + // Odd::proj + fn proj(&self) -> ::Output { + let x = Default::default(); // $ MISSING: target=default + x // $ MISSING: type=x:bool + } + } + + impl Odd { + // Odd::proj + fn proj(&self) -> ::Output { + let x = Default::default(); // $ MISSING: target=default + x // $ MISSING: type=x:char + } + } + + pub fn test() { + using_as(S3, 1, true, 'a'); // $ target=using_as + + let _a = Odd(42i32).proj(); // $ target=Odd::proj MISSING: type=_a:bool + let _b = Odd(true).proj(); // $ target=Odd::proj MISSING: type=_b:char + } +} + +// Tests for signatures that access associated types on type parameters mod type_param_access_associated_type { use super::*; @@ -122,9 +204,20 @@ mod type_param_access_associated_type { thing.get() // $ target=GetSet::get } + fn tp_assoc_from_supertrait(thing: T) -> (T::Output, T::AnotherOutput) { + ( + thing.get(), // $ target=GetSet::get + thing.get_another(), // $ target=AnotherGet::get_another + ) + } + pub fn test() { let _o1 = tp_with_as(S); // $ target=tp_with_as MISSING: type=_o1:S3 let _o2 = tp_without_as(S); // $ target=tp_without_as MISSING: type=_o2:S3 + let ( + _o3, // $ MISSING: type=_o3:S3 + _o4, // $ MISSING: type=_o4:bool + ) = tp_assoc_from_supertrait(S); // $ target=tp_assoc_from_supertrait } } @@ -293,6 +386,21 @@ mod associated_type_in_supertrait { } } + impl Subtrait for Odd { + // Odd::get_content + fn get_content(&self) -> Self::Output { + // let _x = Self::get(self); + Default::default() // $ target=default + } + } + + impl Subtrait for Odd { + // Odd::get_content + fn get_content(&self) -> Self::Output { + Default::default() // $ target=default + } + } + fn get_content(item: &T) -> T::Output { item.get_content() // $ target=Subtrait::get_content } @@ -308,6 +416,9 @@ mod associated_type_in_supertrait { let item2 = MyType(true); let _content2 = get_content(&item2); // $ target=get_content MISSING: type=_content2:bool + + let _content3 = Odd(42i32).get_content(); // $ target=Odd::get_content type=_content3:bool SPURIOUS: type=_content3:char + let _content4 = Odd(true).get_content(); // $ target=Odd::get_content type=_content4:char SPURIOUS: type=_content4:bool } } @@ -356,6 +467,7 @@ mod dyn_trait { pub fn test() { default_method_using_associated_type::test(); // $ target=test + concrete_type_access_associated_type::test(); // $ target=test type_param_access_associated_type::test(); // $ target=test generic_associated_type::test(); // $ target=test multiple_associated_types::test(); // $ target=test diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 36663b1dc4b..14d6ae3115e 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -20,212 +20,259 @@ inferCertainType | associated_types.rs:44:12:44:16 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:44:12:44:16 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | | associated_types.rs:44:35:46:5 | { ... } | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:53:12:53:16 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:53:12:53:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:53:12:53:16 | SelfParam | TRef.A | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:53:35:55:5 | { ... } | | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:54:9:54:12 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:54:9:54:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:54:9:54:12 | self | TRef.A | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:65:15:65:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:67:15:67:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:71:9:75:9 | { ... } | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | -| associated_types.rs:72:13:72:16 | self | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:82:15:82:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:82:45:84:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:91:15:91:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:91:45:93:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:91:45:93:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:92:21:92:24 | self | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:96:19:110:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:18:99:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:99:18:99:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:99:18:99:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:18:104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:104:18:104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:104:18:104:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:18:107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:107:18:107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:107:18:107:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:18:109:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:109:18:109:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:109:18:109:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:117:30:117:34 | thing | | associated_types.rs:117:19:117:27 | T | -| associated_types.rs:118:9:118:13 | thing | | associated_types.rs:117:19:117:27 | T | -| associated_types.rs:121:33:121:37 | thing | | associated_types.rs:121:22:121:30 | T | -| associated_types.rs:122:9:122:13 | thing | | associated_types.rs:121:22:121:30 | T | -| associated_types.rs:125:19:128:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:135:26:135:26 | x | | associated_types.rs:135:23:135:23 | T | -| associated_types.rs:138:5:140:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:139:18:139:18 | x | | associated_types.rs:135:23:135:23 | T | -| associated_types.rs:143:24:143:24 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:146:5:150:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:147:19:147:19 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:148:23:148:24 | &x | | {EXTERNAL LOCATION} | & | -| associated_types.rs:148:24:148:24 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:149:18:149:18 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:153:23:153:23 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:157:5:161:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:158:19:158:19 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:159:23:159:24 | &x | | {EXTERNAL LOCATION} | & | -| associated_types.rs:159:24:159:24 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:160:18:160:18 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:167:17:167:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:167:17:167:21 | SelfParam | TRef | associated_types.rs:163:5:168:5 | Self [trait AssocNameClash] | -| associated_types.rs:170:34:170:34 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:174:5:177:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:175:18:175:18 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:176:18:176:18 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:187:19:187:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:187:19:187:23 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:187:26:187:26 | a | | associated_types.rs:187:16:187:16 | A | -| associated_types.rs:190:23:190:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:190:23:190:27 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:190:30:190:30 | a | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:190:36:190:36 | b | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:190:76:193:9 | { ... } | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | -| associated_types.rs:191:13:191:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:191:13:191:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:191:22:191:22 | a | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:192:13:192:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:192:13:192:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:192:22:192:22 | b | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:201:19:201:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:201:19:201:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:201:26:201:26 | a | | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:201:46:203:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:201:46:203:9 | { ... } | A | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:202:21:202:21 | a | | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:206:19:213:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:209:25:209:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:212:29:212:32 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:212:35:212:39 | false | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:224:21:224:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:224:21:224:25 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:226:20:226:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:226:20:226:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:228:20:228:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:228:20:228:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:235:21:235:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:235:21:235:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:235:34:237:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:239:20:239:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:239:20:239:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:239:43:241:9 | { ... } | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:243:20:243:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:243:20:243:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:243:43:245:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:248:19:252:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:260:24:260:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:260:24:260:28 | SelfParam | TRef | associated_types.rs:258:5:261:5 | Self [trait Subtrait] | -| associated_types.rs:269:23:269:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:269:23:269:27 | SelfParam | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:269:30:269:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:269:48:269:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:269:66:272:9 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:270:13:270:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:270:13:270:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:270:22:270:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:271:13:271:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:271:13:271:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:271:22:271:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:280:16:280:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:280:16:280:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:280:16:280:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:280:39:282:9 | { ... } | | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:281:13:281:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:281:13:281:16 | self | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:281:13:281:16 | self | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:16:284:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:284:16:284:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:284:16:284:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:23:284:30 | _content | | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:47:286:9 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:285:22:285:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:291:24:291:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:291:24:291:28 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:291:24:291:28 | SelfParam | TRef.T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:292:15:292:18 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:292:15:292:18 | self | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:292:15:292:18 | self | TRef.T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:296:33:296:36 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:296:33:296:36 | item | TRef | associated_types.rs:296:20:296:30 | T | -| associated_types.rs:297:9:297:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:297:9:297:12 | item | TRef | associated_types.rs:296:20:296:30 | T | -| associated_types.rs:300:35:300:38 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:300:35:300:38 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:300:90:303:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:301:9:301:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:301:9:301:12 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:302:9:302:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:302:9:302:12 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:305:19:311:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:306:28:306:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| associated_types.rs:309:28:309:31 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:310:37:310:42 | &item2 | | {EXTERNAL LOCATION} | & | -| associated_types.rs:324:16:324:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:324:16:324:20 | SelfParam | TRef | associated_types.rs:317:5:317:20 | ST | -| associated_types.rs:324:16:324:20 | SelfParam | TRef.T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:324:39:326:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:324:39:326:9 | { ... } | E | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:324:39:326:9 | { ... } | T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:325:16:325:19 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:325:16:325:19 | self | TRef | associated_types.rs:317:5:317:20 | ST | -| associated_types.rs:325:16:325:19 | self | TRef.T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:329:19:331:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:330:21:330:24 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:338:31:338:31 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:338:31:338:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:338:31:338:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:338:61:346:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:340:21:340:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:340:21:340:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:340:21:340:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:343:19:343:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:343:19:343:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:343:19:343:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:345:23:345:23 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:345:23:345:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:345:23:345:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:348:36:348:36 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:348:36:348:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:348:36:348:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:348:36:348:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:348:92:354:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:349:21:349:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:349:21:349:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:349:21:349:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:349:21:349:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:350:19:350:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:350:19:350:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:350:19:350:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:350:19:350:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:351:23:351:23 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:351:23:351:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:351:23:351:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:351:23:351:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:352:21:352:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:352:21:352:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:352:21:352:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:21:352:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:353:19:353:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:353:19:353:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:353:19:353:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:353:19:353:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:357:15:364:1 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:358:5:358:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:359:5:359:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:360:5:360:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:361:5:361:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:362:5:362:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:363:5:363:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:53:20:53:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:53:20:53:24 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:53:50:55:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:54:9:54:12 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:62:12:62:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:62:12:62:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:62:12:62:16 | SelfParam | TRef.A | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:62:35:64:5 | { ... } | | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:63:9:63:12 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:63:9:63:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:63:9:63:12 | self | TRef.A | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:72:12:72:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:72:12:72:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:72:12:72:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:72:35:74:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:73:9:73:12 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:80:12:80:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:80:12:80:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:80:12:80:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:80:35:82:5 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:81:9:81:11 | 'a' | | {EXTERNAL LOCATION} | char | +| associated_types.rs:92:15:92:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:94:15:94:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:98:9:102:9 | { ... } | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | +| associated_types.rs:99:13:99:16 | self | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:109:15:109:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:109:45:111:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:118:15:118:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:118:45:120:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:118:45:120:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:119:21:119:24 | self | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:123:19:137:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:18:126:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:126:18:126:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:126:18:126:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:18:126:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:18:131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:131:18:131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:131:18:131:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:18:131:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:18:134:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:134:18:134:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:134:18:134:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:18:134:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:18:136:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:136:18:136:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:136:18:136:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:18:136:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:148:7:153:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:173:17:173:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:173:17:173:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:173:17:173:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:181:17:181:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:181:17:181:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:181:17:181:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:187:19:192:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:188:9:188:34 | using_as(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:188:25:188:28 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:188:31:188:33 | 'a' | | {EXTERNAL LOCATION} | char | +| associated_types.rs:190:22:190:26 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:191:22:191:25 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:199:30:199:34 | thing | | associated_types.rs:199:19:199:27 | T | +| associated_types.rs:200:9:200:13 | thing | | associated_types.rs:199:19:199:27 | T | +| associated_types.rs:203:33:203:37 | thing | | associated_types.rs:203:22:203:30 | T | +| associated_types.rs:204:9:204:13 | thing | | associated_types.rs:203:22:203:30 | T | +| associated_types.rs:207:48:207:52 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:207:91:212:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:208:9:211:9 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:209:13:209:17 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:210:13:210:17 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:214:19:221:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:217:13:220:9 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:220:13:220:39 | tp_assoc_from_supertrait(...) | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:228:26:228:26 | x | | associated_types.rs:228:23:228:23 | T | +| associated_types.rs:231:5:233:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:232:18:232:18 | x | | associated_types.rs:228:23:228:23 | T | +| associated_types.rs:236:24:236:24 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:239:5:243:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:240:19:240:19 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:241:23:241:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:241:24:241:24 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:242:18:242:18 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:246:23:246:23 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:250:5:254:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:251:19:251:19 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:252:23:252:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:252:24:252:24 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:253:18:253:18 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:260:17:260:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:260:17:260:21 | SelfParam | TRef | associated_types.rs:256:5:261:5 | Self [trait AssocNameClash] | +| associated_types.rs:263:34:263:34 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:267:5:270:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:268:18:268:18 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:269:18:269:18 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:280:19:280:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:280:19:280:23 | SelfParam | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:280:26:280:26 | a | | associated_types.rs:280:16:280:16 | A | +| associated_types.rs:283:23:283:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:283:23:283:27 | SelfParam | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:283:30:283:30 | a | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:283:36:283:36 | b | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:283:76:286:9 | { ... } | | associated_types.rs:277:9:277:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:284:13:284:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:284:13:284:16 | self | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:284:22:284:22 | a | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:285:13:285:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:285:13:285:16 | self | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:285:22:285:22 | b | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:294:19:294:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:294:19:294:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:294:26:294:26 | a | | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:294:46:296:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:294:46:296:9 | { ... } | A | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:295:21:295:21 | a | | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:299:19:306:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:302:25:302:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:305:29:305:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:305:35:305:39 | false | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:317:21:317:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:317:21:317:25 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:319:20:319:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:319:20:319:24 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:321:20:321:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:321:20:321:24 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:328:21:328:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:328:21:328:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:328:34:330:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:332:20:332:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:332:20:332:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:332:43:334:9 | { ... } | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:336:20:336:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:336:20:336:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:336:43:338:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:341:19:345:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:353:24:353:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:353:24:353:28 | SelfParam | TRef | associated_types.rs:351:5:354:5 | Self [trait Subtrait] | +| associated_types.rs:362:23:362:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:362:23:362:27 | SelfParam | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:362:30:362:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:362:48:362:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:362:66:365:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:363:13:363:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:363:13:363:16 | self | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:363:22:363:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:364:13:364:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:364:13:364:16 | self | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:364:22:364:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:373:16:373:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:373:16:373:20 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:373:16:373:20 | SelfParam | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:373:39:375:9 | { ... } | | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:374:13:374:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:374:13:374:16 | self | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:374:13:374:16 | self | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:16:377:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:377:16:377:20 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:377:16:377:20 | SelfParam | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:23:377:30 | _content | | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:47:379:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:22:378:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:378:22:378:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:378:22:378:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:22:378:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:384:24:384:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:384:24:384:28 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:384:24:384:28 | SelfParam | TRef.T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:385:15:385:18 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:385:15:385:18 | self | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:385:15:385:18 | self | TRef.T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:391:24:391:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:391:24:391:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:391:24:391:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:391:47:394:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:391:47:394:9 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:399:24:399:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:399:24:399:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:399:24:399:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:399:47:401:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:399:47:401:9 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:404:33:404:36 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:404:33:404:36 | item | TRef | associated_types.rs:404:20:404:30 | T | +| associated_types.rs:405:9:405:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:405:9:405:12 | item | TRef | associated_types.rs:404:20:404:30 | T | +| associated_types.rs:408:35:408:38 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:408:35:408:38 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:408:90:411:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:409:9:409:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:409:9:409:12 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:410:9:410:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:410:9:410:12 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:413:19:422:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:414:28:414:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:417:28:417:31 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:418:37:418:42 | &item2 | | {EXTERNAL LOCATION} | & | +| associated_types.rs:420:29:420:33 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:421:29:421:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:435:16:435:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:435:16:435:20 | SelfParam | TRef | associated_types.rs:428:5:428:20 | ST | +| associated_types.rs:435:16:435:20 | SelfParam | TRef.T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:435:39:437:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:435:39:437:9 | { ... } | E | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:435:39:437:9 | { ... } | T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:436:16:436:19 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:436:16:436:19 | self | TRef | associated_types.rs:428:5:428:20 | ST | +| associated_types.rs:436:16:436:19 | self | TRef.T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:440:19:442:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:441:21:441:24 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:449:31:449:31 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:449:31:449:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:449:31:449:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:449:61:457:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:451:21:451:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:451:21:451:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:451:21:451:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:454:19:454:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:454:19:454:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:454:19:454:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:456:23:456:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:456:23:456:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:456:23:456:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:459:36:459:36 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:459:36:459:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:459:36:459:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:459:36:459:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:459:92:465:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:460:21:460:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:460:21:460:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:460:21:460:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:460:21:460:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:461:19:461:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:461:19:461:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:461:19:461:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:461:19:461:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:462:23:462:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:462:23:462:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:462:23:462:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:462:23:462:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:463:21:463:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:463:21:463:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:463:21:463:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:21:463:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:464:19:464:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:464:19:464:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:464:19:464:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:464:19:464:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:468:15:476:1 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:469:5:469:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:470:5:470:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:471:5:471:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:472:5:472:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:473:5:473:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:474:5:474:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:475:5:475:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & | @@ -4703,363 +4750,433 @@ inferType | associated_types.rs:44:12:44:16 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | | associated_types.rs:44:35:46:5 | { ... } | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:45:9:45:10 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:53:12:53:16 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:53:12:53:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:53:12:53:16 | SelfParam | TRef.A | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:53:35:55:5 | { ... } | | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:54:9:54:12 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:54:9:54:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:54:9:54:12 | self | TRef.A | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:54:9:54:14 | self.0 | | associated_types.rs:49:6:49:12 | T | -| associated_types.rs:65:15:65:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:67:15:67:18 | SelfParam | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:71:9:75:9 | { ... } | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | -| associated_types.rs:72:13:72:16 | self | | associated_types.rs:61:5:76:5 | Self [trait MyTrait] | -| associated_types.rs:72:13:72:21 | self.m1() | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | -| associated_types.rs:74:13:74:43 | ...::default(...) | | associated_types.rs:62:9:62:28 | AssociatedType[MyTrait] | -| associated_types.rs:82:15:82:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:82:45:84:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:83:13:83:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:91:15:91:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:91:45:93:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:91:45:93:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:92:13:92:25 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:92:13:92:25 | Wrapper(...) | A | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:92:21:92:24 | self | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:96:19:110:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:97:13:97:14 | x1 | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:97:18:97:18 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:99:9:99:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:18:99:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:99:18:99:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:99:18:99:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:18:99:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:99:26:99:27 | x1 | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:99:26:99:32 | x1.m1() | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:101:13:101:14 | x2 | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:101:18:101:18 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:103:13:103:13 | y | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:103:17:103:18 | x2 | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:103:17:103:23 | x2.m2() | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:104:9:104:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:18:104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:104:18:104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:104:18:104:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:18:104:26 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:104:26:104:26 | y | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:106:13:106:14 | x5 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:106:18:106:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:107:9:107:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:18:107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:107:18:107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:107:18:107:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:18:107:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:107:26:107:27 | x5 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:107:26:107:32 | x5.m1() | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:107:26:107:32 | x5.m1() | A | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:108:13:108:14 | x6 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:108:18:108:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:109:9:109:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:18:109:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:109:18:109:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:109:18:109:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:18:109:32 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:109:26:109:27 | x6 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:109:26:109:32 | x6.m2() | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:109:26:109:32 | x6.m2() | A | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:117:30:117:34 | thing | | associated_types.rs:117:19:117:27 | T | -| associated_types.rs:118:9:118:13 | thing | | associated_types.rs:117:19:117:27 | T | -| associated_types.rs:121:33:121:37 | thing | | associated_types.rs:121:22:121:30 | T | -| associated_types.rs:122:9:122:13 | thing | | associated_types.rs:121:22:121:30 | T | -| associated_types.rs:125:19:128:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:126:30:126:30 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:127:33:127:33 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:135:26:135:26 | x | | associated_types.rs:135:23:135:23 | T | -| associated_types.rs:138:5:140:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:139:13:139:14 | _a | | {EXTERNAL LOCATION} | char | -| associated_types.rs:139:18:139:18 | x | | associated_types.rs:135:23:135:23 | T | -| associated_types.rs:139:18:139:24 | x.get() | | {EXTERNAL LOCATION} | char | -| associated_types.rs:143:24:143:24 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:146:5:150:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:147:13:147:15 | _a1 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:147:19:147:19 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:147:19:147:25 | x.get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:148:13:148:15 | _a2 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:148:19:148:25 | get(...) | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:148:23:148:24 | &x | | {EXTERNAL LOCATION} | & | -| associated_types.rs:148:23:148:24 | &x | TRef | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:148:24:148:24 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:149:13:149:14 | _b | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:149:18:149:18 | x | | associated_types.rs:143:21:143:21 | T | -| associated_types.rs:149:18:149:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:153:23:153:23 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:157:5:161:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:158:13:158:15 | _a1 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:158:19:158:19 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:158:19:158:25 | x.get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:159:13:159:15 | _a2 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:159:19:159:25 | get(...) | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:159:23:159:24 | &x | | {EXTERNAL LOCATION} | & | -| associated_types.rs:159:23:159:24 | &x | TRef | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:159:24:159:24 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:160:13:160:14 | _b | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:160:18:160:18 | x | | associated_types.rs:153:20:153:20 | T | -| associated_types.rs:160:18:160:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:167:17:167:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:167:17:167:21 | SelfParam | TRef | associated_types.rs:163:5:168:5 | Self [trait AssocNameClash] | -| associated_types.rs:170:34:170:34 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:174:5:177:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:175:13:175:14 | _a | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:175:18:175:18 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:175:18:175:24 | x.get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:176:18:176:18 | x | | associated_types.rs:170:31:170:31 | T | -| associated_types.rs:187:19:187:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:187:19:187:23 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:187:26:187:26 | a | | associated_types.rs:187:16:187:16 | A | -| associated_types.rs:190:23:190:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:190:23:190:27 | SelfParam | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:190:30:190:30 | a | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:190:36:190:36 | b | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:190:76:193:9 | { ... } | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | -| associated_types.rs:191:13:191:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:191:13:191:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:191:13:191:23 | self.put(...) | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | -| associated_types.rs:191:22:191:22 | a | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:192:13:192:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:192:13:192:16 | self | TRef | associated_types.rs:183:5:194:5 | Self [trait MyTraitAssoc2] | -| associated_types.rs:192:13:192:23 | self.put(...) | | associated_types.rs:184:9:184:52 | GenericAssociatedType[MyTraitAssoc2] | -| associated_types.rs:192:22:192:22 | b | | associated_types.rs:190:20:190:20 | A | -| associated_types.rs:201:19:201:23 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:201:19:201:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:201:26:201:26 | a | | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:201:46:203:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:201:46:203:9 | { ... } | A | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:202:13:202:22 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:202:13:202:22 | Wrapper(...) | A | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:202:21:202:21 | a | | associated_types.rs:201:16:201:16 | A | -| associated_types.rs:206:19:213:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:207:13:207:13 | s | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:207:17:207:17 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:209:13:209:15 | _g1 | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:209:13:209:15 | _g1 | A | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:209:19:209:19 | s | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:209:19:209:29 | s.put(...) | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:209:19:209:29 | s.put(...) | A | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:209:25:209:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:212:13:212:15 | _g2 | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:212:19:212:19 | s | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:212:19:212:40 | s.put_two(...) | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:212:29:212:32 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:212:35:212:39 | false | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:224:21:224:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:224:21:224:25 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:226:20:226:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:226:20:226:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:228:20:228:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:228:20:228:24 | SelfParam | TRef | associated_types.rs:219:5:229:5 | Self [trait TraitMultipleAssoc] | -| associated_types.rs:235:21:235:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:235:21:235:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:235:34:237:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:236:13:236:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:239:20:239:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:239:20:239:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:239:43:241:9 | { ... } | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:240:13:240:13 | S | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:243:20:243:24 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:243:20:243:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:243:43:245:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:244:13:244:14 | S2 | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:248:19:252:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:249:13:249:23 | _assoc_zero | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:249:27:249:28 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:249:27:249:39 | S3.get_zero() | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:250:13:250:22 | _assoc_one | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:250:26:250:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:250:26:250:37 | S3.get_one() | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:251:13:251:22 | _assoc_two | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:251:26:251:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:251:26:251:37 | S3.get_two() | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:260:24:260:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:260:24:260:28 | SelfParam | TRef | associated_types.rs:258:5:261:5 | Self [trait Subtrait] | -| associated_types.rs:269:23:269:27 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:269:23:269:27 | SelfParam | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:269:30:269:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:269:48:269:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:269:66:272:9 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:270:13:270:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:270:13:270:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:270:13:270:24 | self.set(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:270:22:270:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:271:13:271:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:271:13:271:16 | self | TRef | associated_types.rs:263:5:273:5 | Self [trait Subtrait2] | -| associated_types.rs:271:13:271:24 | self.set(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:271:22:271:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | -| associated_types.rs:280:16:280:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:280:16:280:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:280:16:280:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:280:39:282:9 | { ... } | | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:281:13:281:16 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:281:13:281:16 | self | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:281:13:281:16 | self | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:281:13:281:18 | self.0 | | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:16:284:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:284:16:284:20 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:284:16:284:20 | SelfParam | TRef.T | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:23:284:30 | _content | | associated_types.rs:277:10:277:16 | T | -| associated_types.rs:284:47:286:9 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:13:285:43 | MacroExpr | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | -| associated_types.rs:285:22:285:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:285:22:285:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:285:22:285:42 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:291:24:291:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:291:24:291:28 | SelfParam | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:291:24:291:28 | SelfParam | TRef.T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:291:47:293:9 | { ... } | | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:292:13:292:19 | (...) | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:292:13:292:19 | (...) | T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:292:13:292:21 | ... .0 | | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:292:14:292:18 | * ... | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:292:14:292:18 | * ... | T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:292:15:292:18 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:292:15:292:18 | self | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:292:15:292:18 | self | TRef.T | associated_types.rs:289:10:289:16 | T | -| associated_types.rs:296:33:296:36 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:296:33:296:36 | item | TRef | associated_types.rs:296:20:296:30 | T | -| associated_types.rs:297:9:297:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:297:9:297:12 | item | TRef | associated_types.rs:296:20:296:30 | T | -| associated_types.rs:300:35:300:38 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:300:35:300:38 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:300:90:303:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:301:9:301:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:301:9:301:12 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:301:9:301:20 | item.set(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:302:9:302:12 | item | | {EXTERNAL LOCATION} | & | -| associated_types.rs:302:9:302:12 | item | TRef | associated_types.rs:300:21:300:32 | T | -| associated_types.rs:302:9:302:31 | item.insert_two(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:305:19:311:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:306:13:306:17 | item1 | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:306:13:306:17 | item1 | T | {EXTERNAL LOCATION} | i64 | -| associated_types.rs:306:21:306:33 | MyType(...) | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:306:21:306:33 | MyType(...) | T | {EXTERNAL LOCATION} | i64 | -| associated_types.rs:306:28:306:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| associated_types.rs:307:25:307:29 | item1 | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:307:25:307:29 | item1 | T | {EXTERNAL LOCATION} | i64 | -| associated_types.rs:309:13:309:17 | item2 | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:309:13:309:17 | item2 | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:309:21:309:32 | MyType(...) | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:309:21:309:32 | MyType(...) | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:309:28:309:31 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:310:37:310:42 | &item2 | | {EXTERNAL LOCATION} | & | -| associated_types.rs:310:37:310:42 | &item2 | TRef | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:310:37:310:42 | &item2 | TRef.T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:310:38:310:42 | item2 | | associated_types.rs:275:5:275:24 | MyType | -| associated_types.rs:310:38:310:42 | item2 | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:324:16:324:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| associated_types.rs:324:16:324:20 | SelfParam | TRef | associated_types.rs:317:5:317:20 | ST | -| associated_types.rs:324:16:324:20 | SelfParam | TRef.T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:324:39:326:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:324:39:326:9 | { ... } | E | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:324:39:326:9 | { ... } | T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:325:13:325:22 | Ok(...) | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:325:13:325:22 | Ok(...) | E | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:325:13:325:22 | Ok(...) | T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:325:16:325:19 | self | | {EXTERNAL LOCATION} | & | -| associated_types.rs:325:16:325:19 | self | TRef | associated_types.rs:317:5:317:20 | ST | -| associated_types.rs:325:16:325:19 | self | TRef.T | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:325:16:325:21 | self.0 | | associated_types.rs:319:10:319:21 | Output | -| associated_types.rs:329:19:331:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:330:13:330:14 | _y | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:330:13:330:14 | _y | E | {EXTERNAL LOCATION} | bool | -| associated_types.rs:330:13:330:14 | _y | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:330:18:330:25 | ST(...) | | associated_types.rs:317:5:317:20 | ST | -| associated_types.rs:330:18:330:25 | ST(...) | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:330:18:330:31 | ... .get() | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:330:18:330:31 | ... .get() | E | {EXTERNAL LOCATION} | bool | -| associated_types.rs:330:18:330:31 | ... .get() | T | {EXTERNAL LOCATION} | bool | -| associated_types.rs:330:21:330:24 | true | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:338:31:338:31 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:338:31:338:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:338:31:338:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:338:61:346:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:340:13:340:15 | _a1 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:340:19:340:22 | (...) | | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:340:19:340:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:340:19:340:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:340:20:340:21 | * ... | | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:340:20:340:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:340:21:340:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:340:21:340:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:340:21:340:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:343:13:343:15 | _a2 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:343:19:343:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:343:19:343:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:343:19:343:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:343:19:343:25 | t.get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:345:13:345:15 | _a3 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:345:19:345:24 | get(...) | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:345:23:345:23 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:345:23:345:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | -| associated_types.rs:345:23:345:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:348:36:348:36 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:348:36:348:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:348:36:348:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:348:36:348:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:348:92:354:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:349:13:349:15 | _a1 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:349:19:349:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:349:19:349:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:349:19:349:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:349:19:349:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:349:20:349:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:349:20:349:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:349:20:349:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:349:21:349:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:349:21:349:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:349:21:349:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:349:21:349:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:350:13:350:15 | _a2 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:350:19:350:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:350:19:350:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:350:19:350:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:350:19:350:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:350:19:350:25 | t.get() | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:351:13:351:15 | _a3 | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:351:19:351:24 | get(...) | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:351:23:351:23 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:351:23:351:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:351:23:351:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:351:23:351:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:352:13:352:15 | _b1 | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:19:352:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:352:19:352:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:19:352:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:352:19:352:36 | ... .get_another() | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:20:352:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:352:20:352:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:20:352:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:352:21:352:21 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:352:21:352:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:352:21:352:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:352:21:352:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:353:13:353:15 | _b2 | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:353:19:353:19 | t | | {EXTERNAL LOCATION} | & | -| associated_types.rs:353:19:353:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | -| associated_types.rs:353:19:353:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | -| associated_types.rs:353:19:353:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:353:19:353:33 | t.get_another() | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:357:15:364:1 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:358:5:358:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:359:5:359:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:360:5:360:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:361:5:361:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:362:5:362:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:363:5:363:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:53:20:53:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:53:20:53:24 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:53:50:55:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:54:9:54:12 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:62:12:62:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:62:12:62:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:62:12:62:16 | SelfParam | TRef.A | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:62:35:64:5 | { ... } | | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:63:9:63:12 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:63:9:63:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:63:9:63:12 | self | TRef.A | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:63:9:63:14 | self.0 | | associated_types.rs:58:6:58:12 | T | +| associated_types.rs:72:12:72:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:72:12:72:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:72:12:72:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:72:35:74:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:73:9:73:12 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:80:12:80:16 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:80:12:80:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:80:12:80:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:80:35:82:5 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:81:9:81:11 | 'a' | | {EXTERNAL LOCATION} | char | +| associated_types.rs:92:15:92:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:94:15:94:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:98:9:102:9 | { ... } | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | +| associated_types.rs:99:13:99:16 | self | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | +| associated_types.rs:99:13:99:21 | self.m1() | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | +| associated_types.rs:101:13:101:43 | ...::default(...) | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | +| associated_types.rs:109:15:109:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:109:45:111:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:110:13:110:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:118:15:118:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:118:45:120:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:118:45:120:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:119:13:119:25 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:119:13:119:25 | Wrapper(...) | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:119:21:119:24 | self | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:123:19:137:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:124:13:124:14 | x1 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:124:18:124:18 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:126:9:126:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:18:126:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:126:18:126:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:126:18:126:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:18:126:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:18:126:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:126:26:126:27 | x1 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:126:26:126:32 | x1.m1() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:128:13:128:14 | x2 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:128:18:128:18 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:130:13:130:13 | y | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:130:17:130:18 | x2 | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:130:17:130:23 | x2.m2() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:131:9:131:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:18:131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:131:18:131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:131:18:131:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:18:131:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:18:131:26 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:131:26:131:26 | y | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:133:13:133:14 | x5 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:133:18:133:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:134:9:134:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:18:134:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:134:18:134:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:134:18:134:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:18:134:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:18:134:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:134:26:134:27 | x5 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:134:26:134:32 | x5.m1() | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:134:26:134:32 | x5.m1() | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:135:13:135:14 | x6 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:135:18:135:19 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:136:9:136:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:18:136:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:136:18:136:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:136:18:136:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:18:136:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:18:136:32 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:136:26:136:27 | x6 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:136:26:136:32 | x6.m2() | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:136:26:136:32 | x6.m2() | A | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:148:7:153:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:173:17:173:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:173:17:173:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:173:17:173:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:181:17:181:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:181:17:181:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:181:17:181:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:187:19:192:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:188:9:188:34 | using_as(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:188:18:188:19 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:188:22:188:22 | 1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:188:25:188:28 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:188:31:188:33 | 'a' | | {EXTERNAL LOCATION} | char | +| associated_types.rs:190:18:190:27 | Odd(...) | | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:190:18:190:27 | Odd(...) | OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:190:22:190:26 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:191:18:191:26 | Odd(...) | | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:191:18:191:26 | Odd(...) | OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:191:22:191:25 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:199:30:199:34 | thing | | associated_types.rs:199:19:199:27 | T | +| associated_types.rs:200:9:200:13 | thing | | associated_types.rs:199:19:199:27 | T | +| associated_types.rs:203:33:203:37 | thing | | associated_types.rs:203:22:203:30 | T | +| associated_types.rs:204:9:204:13 | thing | | associated_types.rs:203:22:203:30 | T | +| associated_types.rs:207:48:207:52 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:207:91:212:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:208:9:211:9 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:209:13:209:17 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:210:13:210:17 | thing | | associated_types.rs:207:33:207:45 | T | +| associated_types.rs:214:19:221:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:215:30:215:30 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:216:33:216:33 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:217:13:220:9 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:220:13:220:39 | tp_assoc_from_supertrait(...) | | {EXTERNAL LOCATION} | (T_2) | +| associated_types.rs:220:38:220:38 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:228:26:228:26 | x | | associated_types.rs:228:23:228:23 | T | +| associated_types.rs:231:5:233:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:232:13:232:14 | _a | | {EXTERNAL LOCATION} | char | +| associated_types.rs:232:18:232:18 | x | | associated_types.rs:228:23:228:23 | T | +| associated_types.rs:232:18:232:24 | x.get() | | {EXTERNAL LOCATION} | char | +| associated_types.rs:236:24:236:24 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:239:5:243:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:240:13:240:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:240:19:240:19 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:240:19:240:25 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:241:13:241:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:241:19:241:25 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:241:23:241:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:241:23:241:24 | &x | TRef | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:241:24:241:24 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:242:13:242:14 | _b | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:242:18:242:18 | x | | associated_types.rs:236:21:236:21 | T | +| associated_types.rs:242:18:242:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:246:23:246:23 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:250:5:254:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:251:13:251:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:251:19:251:19 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:251:19:251:25 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:252:13:252:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:252:19:252:25 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:252:23:252:24 | &x | | {EXTERNAL LOCATION} | & | +| associated_types.rs:252:23:252:24 | &x | TRef | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:252:24:252:24 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:253:13:253:14 | _b | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:253:18:253:18 | x | | associated_types.rs:246:20:246:20 | T | +| associated_types.rs:253:18:253:32 | x.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:260:17:260:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:260:17:260:21 | SelfParam | TRef | associated_types.rs:256:5:261:5 | Self [trait AssocNameClash] | +| associated_types.rs:263:34:263:34 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:267:5:270:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:268:13:268:14 | _a | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:268:18:268:18 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:268:18:268:24 | x.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:269:18:269:18 | x | | associated_types.rs:263:31:263:31 | T | +| associated_types.rs:280:19:280:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:280:19:280:23 | SelfParam | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:280:26:280:26 | a | | associated_types.rs:280:16:280:16 | A | +| associated_types.rs:283:23:283:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:283:23:283:27 | SelfParam | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:283:30:283:30 | a | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:283:36:283:36 | b | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:283:76:286:9 | { ... } | | associated_types.rs:277:9:277:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:284:13:284:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:284:13:284:16 | self | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:284:13:284:23 | self.put(...) | | associated_types.rs:277:9:277:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:284:22:284:22 | a | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:285:13:285:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:285:13:285:16 | self | TRef | associated_types.rs:276:5:287:5 | Self [trait MyTraitAssoc2] | +| associated_types.rs:285:13:285:23 | self.put(...) | | associated_types.rs:277:9:277:52 | GenericAssociatedType[MyTraitAssoc2] | +| associated_types.rs:285:22:285:22 | b | | associated_types.rs:283:20:283:20 | A | +| associated_types.rs:294:19:294:23 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:294:19:294:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:294:26:294:26 | a | | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:294:46:296:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:294:46:296:9 | { ... } | A | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:295:13:295:22 | Wrapper(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:295:13:295:22 | Wrapper(...) | A | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:295:21:295:21 | a | | associated_types.rs:294:16:294:16 | A | +| associated_types.rs:299:19:306:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:300:13:300:13 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:300:17:300:17 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:302:13:302:15 | _g1 | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:302:13:302:15 | _g1 | A | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:302:19:302:19 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:302:19:302:29 | s.put(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:302:19:302:29 | s.put(...) | A | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:302:25:302:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:305:13:305:15 | _g2 | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:305:19:305:19 | s | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:305:19:305:40 | s.put_two(...) | | associated_types.rs:1:1:2:21 | Wrapper | +| associated_types.rs:305:29:305:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:305:35:305:39 | false | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:317:21:317:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:317:21:317:25 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:319:20:319:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:319:20:319:24 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:321:20:321:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:321:20:321:24 | SelfParam | TRef | associated_types.rs:312:5:322:5 | Self [trait TraitMultipleAssoc] | +| associated_types.rs:328:21:328:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:328:21:328:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:328:34:330:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:329:13:329:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:332:20:332:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:332:20:332:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:332:43:334:9 | { ... } | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:333:13:333:13 | S | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:336:20:336:24 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:336:20:336:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:336:43:338:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:337:13:337:14 | S2 | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:341:19:345:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:342:13:342:23 | _assoc_zero | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:342:27:342:28 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:342:27:342:39 | S3.get_zero() | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:343:13:343:22 | _assoc_one | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:343:26:343:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:343:26:343:37 | S3.get_one() | | associated_types.rs:10:1:11:9 | S | +| associated_types.rs:344:13:344:22 | _assoc_two | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:344:26:344:27 | S3 | | associated_types.rs:16:1:17:10 | S3 | +| associated_types.rs:344:26:344:37 | S3.get_two() | | associated_types.rs:13:1:14:10 | S2 | +| associated_types.rs:353:24:353:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:353:24:353:28 | SelfParam | TRef | associated_types.rs:351:5:354:5 | Self [trait Subtrait] | +| associated_types.rs:362:23:362:27 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:362:23:362:27 | SelfParam | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:362:30:362:31 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:362:48:362:49 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:362:66:365:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:363:13:363:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:363:13:363:16 | self | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:363:13:363:24 | self.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:363:22:363:23 | c1 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:364:13:364:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:364:13:364:16 | self | TRef | associated_types.rs:356:5:366:5 | Self [trait Subtrait2] | +| associated_types.rs:364:13:364:24 | self.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:364:22:364:23 | c2 | | associated_types.rs:20:5:20:16 | Output[Subtrait2] | +| associated_types.rs:373:16:373:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:373:16:373:20 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:373:16:373:20 | SelfParam | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:373:39:375:9 | { ... } | | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:374:13:374:16 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:374:13:374:16 | self | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:374:13:374:16 | self | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:374:13:374:18 | self.0 | | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:16:377:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:377:16:377:20 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:377:16:377:20 | SelfParam | TRef.T | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:23:377:30 | _content | | associated_types.rs:370:10:370:16 | T | +| associated_types.rs:377:47:379:9 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:13:378:43 | MacroExpr | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:22:378:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | +| associated_types.rs:378:22:378:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | +| associated_types.rs:378:22:378:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:22:378:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:378:22:378:42 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:384:24:384:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:384:24:384:28 | SelfParam | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:384:24:384:28 | SelfParam | TRef.T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:384:47:386:9 | { ... } | | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:385:13:385:19 | (...) | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:385:13:385:19 | (...) | T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:385:13:385:21 | ... .0 | | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:385:14:385:18 | * ... | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:385:14:385:18 | * ... | T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:385:15:385:18 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:385:15:385:18 | self | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:385:15:385:18 | self | TRef.T | associated_types.rs:382:10:382:16 | T | +| associated_types.rs:391:24:391:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:391:24:391:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:391:24:391:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:391:47:394:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:391:47:394:9 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:393:13:393:30 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:393:13:393:30 | ...::default(...) | | {EXTERNAL LOCATION} | char | +| associated_types.rs:399:24:399:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:399:24:399:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:399:24:399:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:399:47:401:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:399:47:401:9 | { ... } | | {EXTERNAL LOCATION} | char | +| associated_types.rs:400:13:400:30 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:400:13:400:30 | ...::default(...) | | {EXTERNAL LOCATION} | char | +| associated_types.rs:404:33:404:36 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:404:33:404:36 | item | TRef | associated_types.rs:404:20:404:30 | T | +| associated_types.rs:405:9:405:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:405:9:405:12 | item | TRef | associated_types.rs:404:20:404:30 | T | +| associated_types.rs:408:35:408:38 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:408:35:408:38 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:408:90:411:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:409:9:409:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:409:9:409:12 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:409:9:409:20 | item.set(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:410:9:410:12 | item | | {EXTERNAL LOCATION} | & | +| associated_types.rs:410:9:410:12 | item | TRef | associated_types.rs:408:21:408:32 | T | +| associated_types.rs:410:9:410:31 | item.insert_two(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:413:19:422:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:414:13:414:17 | item1 | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:414:13:414:17 | item1 | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:414:21:414:33 | MyType(...) | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:414:21:414:33 | MyType(...) | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:414:28:414:32 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:415:25:415:29 | item1 | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:415:25:415:29 | item1 | T | {EXTERNAL LOCATION} | i64 | +| associated_types.rs:417:13:417:17 | item2 | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:417:13:417:17 | item2 | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:417:21:417:32 | MyType(...) | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:417:21:417:32 | MyType(...) | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:417:28:417:31 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:418:37:418:42 | &item2 | | {EXTERNAL LOCATION} | & | +| associated_types.rs:418:37:418:42 | &item2 | TRef | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:418:37:418:42 | &item2 | TRef.T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:418:38:418:42 | item2 | | associated_types.rs:368:5:368:24 | MyType | +| associated_types.rs:418:38:418:42 | item2 | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:420:13:420:21 | _content3 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:420:13:420:21 | _content3 | | {EXTERNAL LOCATION} | char | +| associated_types.rs:420:25:420:34 | Odd(...) | | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:420:25:420:34 | Odd(...) | OddT | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:420:25:420:48 | ... .get_content() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:420:25:420:48 | ... .get_content() | | {EXTERNAL LOCATION} | char | +| associated_types.rs:420:29:420:33 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:421:13:421:21 | _content4 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:421:13:421:21 | _content4 | | {EXTERNAL LOCATION} | char | +| associated_types.rs:421:25:421:33 | Odd(...) | | associated_types.rs:67:1:67:23 | Odd | +| associated_types.rs:421:25:421:33 | Odd(...) | OddT | {EXTERNAL LOCATION} | bool | +| associated_types.rs:421:25:421:47 | ... .get_content() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:421:25:421:47 | ... .get_content() | | {EXTERNAL LOCATION} | char | +| associated_types.rs:421:29:421:32 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:435:16:435:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| associated_types.rs:435:16:435:20 | SelfParam | TRef | associated_types.rs:428:5:428:20 | ST | +| associated_types.rs:435:16:435:20 | SelfParam | TRef.T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:435:39:437:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:435:39:437:9 | { ... } | E | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:435:39:437:9 | { ... } | T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:436:13:436:22 | Ok(...) | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:436:13:436:22 | Ok(...) | E | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:436:13:436:22 | Ok(...) | T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:436:16:436:19 | self | | {EXTERNAL LOCATION} | & | +| associated_types.rs:436:16:436:19 | self | TRef | associated_types.rs:428:5:428:20 | ST | +| associated_types.rs:436:16:436:19 | self | TRef.T | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:436:16:436:21 | self.0 | | associated_types.rs:430:10:430:21 | Output | +| associated_types.rs:440:19:442:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:441:13:441:14 | _y | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:441:13:441:14 | _y | E | {EXTERNAL LOCATION} | bool | +| associated_types.rs:441:13:441:14 | _y | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:441:18:441:25 | ST(...) | | associated_types.rs:428:5:428:20 | ST | +| associated_types.rs:441:18:441:25 | ST(...) | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:441:18:441:31 | ... .get() | | {EXTERNAL LOCATION} | Result | +| associated_types.rs:441:18:441:31 | ... .get() | E | {EXTERNAL LOCATION} | bool | +| associated_types.rs:441:18:441:31 | ... .get() | T | {EXTERNAL LOCATION} | bool | +| associated_types.rs:441:21:441:24 | true | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:449:31:449:31 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:449:31:449:31 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:449:31:449:31 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:449:61:457:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:451:13:451:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:451:19:451:22 | (...) | | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:451:19:451:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:451:19:451:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:451:20:451:21 | * ... | | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:451:20:451:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:451:21:451:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:451:21:451:21 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:451:21:451:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:454:13:454:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:454:19:454:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:454:19:454:19 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:454:19:454:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:454:19:454:25 | t.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:456:13:456:15 | _a3 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:456:19:456:24 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:456:23:456:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:456:23:456:23 | t | TRef | associated_types.rs:19:1:27:1 | dyn GetSet | +| associated_types.rs:456:23:456:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:459:36:459:36 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:459:36:459:36 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:459:36:459:36 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:459:36:459:36 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:459:92:465:5 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:460:13:460:15 | _a1 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:460:19:460:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:460:19:460:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:460:19:460:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:460:19:460:28 | ... .get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:460:20:460:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:460:20:460:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:460:20:460:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:460:21:460:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:460:21:460:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:460:21:460:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:460:21:460:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:461:13:461:15 | _a2 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:461:19:461:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:461:19:461:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:461:19:461:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:461:19:461:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:461:19:461:25 | t.get() | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:462:13:462:15 | _a3 | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:462:19:462:24 | get(...) | | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:462:23:462:23 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:462:23:462:23 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:462:23:462:23 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:462:23:462:23 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:463:13:463:15 | _b1 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:19:463:22 | (...) | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:463:19:463:22 | (...) | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:19:463:22 | (...) | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:463:19:463:36 | ... .get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:20:463:21 | * ... | | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:463:20:463:21 | * ... | dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:20:463:21 | * ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:463:21:463:21 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:463:21:463:21 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:463:21:463:21 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:463:21:463:21 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:464:13:464:15 | _b2 | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:464:19:464:19 | t | | {EXTERNAL LOCATION} | & | +| associated_types.rs:464:19:464:19 | t | TRef | associated_types.rs:33:1:38:1 | dyn AnotherGet | +| associated_types.rs:464:19:464:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | +| associated_types.rs:464:19:464:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | +| associated_types.rs:464:19:464:33 | t.get_another() | | {EXTERNAL LOCATION} | bool | +| associated_types.rs:468:15:476:1 | { ... } | | {EXTERNAL LOCATION} | () | +| associated_types.rs:469:5:469:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:470:5:470:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:471:5:471:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:472:5:472:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:473:5:473:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:474:5:474:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| associated_types.rs:475:5:475:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & |