From f395162afd88e104478d3e766fd513895c15bba0 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 28 Oct 2025 13:32:54 +0100 Subject: [PATCH 1/6] Rust: More type inference tests --- rust/ql/.generated.list | 14 +- .../lib/codeql/rust/elements/RetTypeRepr.qll | 2 +- .../rust/elements/UseBoundGenericArgs.qll | 2 +- .../elements/internal/RetTypeReprImpl.qll | 2 +- .../internal/UseBoundGenericArgsImpl.qll | 2 +- .../rust/elements/internal/generated/Raw.qll | 4 +- .../internal/generated/RetTypeRepr.qll | 2 +- .../generated/UseBoundGenericArgs.qll | 2 +- .../generated/.generated_tests.list | 6 +- .../generated/MatchArm/gen_match_arm.rs | 2 +- .../RetTypeRepr/gen_ret_type_repr.rs | 2 +- .../gen_use_bound_generic_args.rs | 2 +- .../PathResolutionConsistency.expected | 12 +- .../test/library-tests/type-inference/main.rs | 18 +- .../type-inference/type-inference.expected | 2727 +++++++++-------- rust/schema/annotations.py | 6 +- 16 files changed, 1415 insertions(+), 1390 deletions(-) diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index cdd94fc0d68a..ffe947da742b 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -135,7 +135,7 @@ lib/codeql/rust/elements/RefPat.qll fe076bdccb454111b38f360837d180274ba8a003b4cf lib/codeql/rust/elements/RefTypeRepr.qll 563d2edc097aa1896b3dea5a3918e6225f23dda91b3fb46e2f4c32feb813d56c af3bd746239130e3e94dd41ab682473b29b8b900b05c557beb8a2eba6508ebd9 lib/codeql/rust/elements/Rename.qll 5cb0ebad580d9842cfe65033059d4d373a1386f047f3a78f402a93e060e2c13e 642c6f37d94442575df12b2e998572a725d094ac5ae76147a56057e75138d72b lib/codeql/rust/elements/RestPat.qll 5fedfac18080b068f597c9bbb84de672834f72cc22295d6312e111f151f8e3c7 c0e1f77bfcdd40e8ab06ad8c138e6098d79940247758adf9de03a05b00c23de3 -lib/codeql/rust/elements/RetTypeRepr.qll a603393d373f38831dded00878c3299d61fdb977723d3e1038692f7a46bfebc5 583c626f7ae7fb4ec9a9f93f072330c16560ab52c8dfec566c46af40fb9f39f8 +lib/codeql/rust/elements/RetTypeRepr.qll d68b7c6c2eda13821fcfe085ac3d63010d89a206be09d23deaf531cac405ba96 6db787a96d95265ca20a17ce00603a678b39ac8c7c1d0e1ad6ed119dcf9858fa lib/codeql/rust/elements/ReturnExpr.qll b87187cff55bc33c8c18558c9b88617179183d1341b322c1cab35ba07167bbdb 892f3a9df2187e745c869e67f33c228ee42754bc9e4f8f4c1718472eb8f8c80f lib/codeql/rust/elements/ReturnTypeSyntax.qll f30b779f79bc2f0329d5585a462511e1aaa9da63182cb45231873a9bd9644d19 5ba004dae2bca323ced27bb4b2f54f725ae974421ab11b176eac4888c642b3fa lib/codeql/rust/elements/SelfParam.qll e36b54cdc57529935910b321c336783e9e2662c762f3cd6af492d819373ff188 7a4735dbf532fc0c33ebdb0b5c1dfc4e5267e79ceff4ca8977065eb0ce54aaf5 @@ -177,7 +177,7 @@ lib/codeql/rust/elements/Unimplemented.qll bf624d28163e5c99accda16c0c99f938bec4a lib/codeql/rust/elements/Union.qll 13f7f62e98b117d18e79db5f6e6535447bc069ebb08f7cdb390b012678b7e085 bd8c37bc0ff09926753bc250e1848ed25923f224829d0136afc27b749eaddd1f lib/codeql/rust/elements/Use.qll fdcf70574403c2f219353211b6930f2f9bc79f41c2594e07548de5a8c6cbb24d e41f2b689fcbeb7b84c7ba8d09592f7561626559318642b73574bbac83f74546 lib/codeql/rust/elements/UseBoundGenericArg.qll f16903f8fff676d3700eaad5490804624391141472ecc3166ccb1f70c794c120 5efda98088d096b42f53ceccae78c05f15c6953525b514d849681cb2cf65b147 -lib/codeql/rust/elements/UseBoundGenericArgs.qll d9821a82a1d57e609fdc5e79d65e9a88b0088f51d03927e09f41b6931d3484ab 181483a95e22622c7cee07cce87e9476053f824a82e67e2bdecabf5a39f672ad +lib/codeql/rust/elements/UseBoundGenericArgs.qll 841913cfbb84de14aab1820a5433eae978bbadbb8e6d413b8ba70780c7328335 c9ec9d086cff91d15c3aea64f1080b22b41cdaf64e3c8b192aaaec17604a5d10 lib/codeql/rust/elements/UseTree.qll e67c148f63668319c37914a46ff600692de477242a0129fa1bb9839754c0f830 de9b39d3d078d51ec9130db6579bff13e6297e60556a7214a5c51cbf89d92791 lib/codeql/rust/elements/UseTreeList.qll 92ebfee4392a485b38fb3265fdede7c8f2ed1dbe2ab860aa61b1497c33874d25 a4e677455d20838e422e430eebd73d0a488e34e8c960f375fef7b99e79d4c911 lib/codeql/rust/elements/Variant.qll 7895461fa728f6c3a7293799c5e6b965b413b679566dcbd40bbe2609db8b6cde b0413547365a301bd9fbb6b266757f956394abad0a77f0e424446e23ec7d83e9 @@ -369,7 +369,7 @@ lib/codeql/rust/elements/internal/RenameConstructor.qll 65fa2e938978d154701e6cac lib/codeql/rust/elements/internal/RenameImpl.qll 61c681055f1f86402af0772539f702e9e19a123f8cfcfca225535c3a1a4cb1d7 1aa1c78616c4b54a31c8af74de141aef9e5ada53f3859df631ecb4238faabdbf lib/codeql/rust/elements/internal/RestPatConstructor.qll 45430925ddf08fba70ede44c7f413ddb41b3113c149b7efc276e0c2bf72507b4 25c678898d72446e7a975bb8b7f2fde51e55b59dbd42f2cca997c833b1a995f1 lib/codeql/rust/elements/internal/RetTypeReprConstructor.qll 6dcb56c92a13f5ca2c9a8344bc05638cc611543896c578cd6ca185054f155537 3fe34953ba397dc31533bd28b48df76693e86b51c4a89c26ad4dfdbd816a0874 -lib/codeql/rust/elements/internal/RetTypeReprImpl.qll 799e55ffcf27bf6f010419e1d61ebbbf3448e37b903b0f13984d0b44d6b7a999 be774bb09d121c35f40c75d5bee08918e7a6b5fccb4fd573fc55a650466b46e0 +lib/codeql/rust/elements/internal/RetTypeReprImpl.qll 321355a9b39193e09ef7c38b807d7f3c221dce06b0cafd2e0ceccdfbb81712e4 02ea0fb17416889b400e0706eeacc0afc6b489b76158e8c26b9b77102df6bd60 lib/codeql/rust/elements/internal/ReturnExprConstructor.qll 57be5afbe20aa8db6e63c1f2871914c19c186730ad7dccaa424038c6305730d5 4d3c4f2e9b38a4b54ff26a0032455cdcca3d35fec201b6c932072a9e31fbb4fe lib/codeql/rust/elements/internal/ReturnTypeSyntaxConstructor.qll 8994672e504d1674e5773157d0ad8a0dc3aad3d64ef295e7722e647e78e36c11 abe7df754721f4ff7f3e3bb22d275976b2e9a1ef51436a461fe52ebd2d29cff1 lib/codeql/rust/elements/internal/ReturnTypeSyntaxImpl.qll 554af21b52fedfc356cb873e25c2429e6660ae62ea01be708de4342960cf4048 cdc497a3693bb162a7528b75e902c4743b0a974c6c44152f822a16107a83bee4 @@ -428,7 +428,7 @@ lib/codeql/rust/elements/internal/UnimplementedImpl.qll 06771abc088e0a8fc24032c9 lib/codeql/rust/elements/internal/UnionConstructor.qll d650551a1b3ef29c5a770bdad626269cf539ed0c675af954bc847d2c6111f3f6 aca9064ad653a126ab4f03703e96b274587c852dc5e7ff3fea0fec4d45993f10 lib/codeql/rust/elements/internal/UseBoundGenericArgImpl.qll 2f90bfd5e43113da1155445bef0334ab84acddef102bd62dfa2ef908717a5d09 dd2fa3c6081d79e1d96360dbdb339128cd944e7b7dc26c449c04f970ee1d7848 lib/codeql/rust/elements/internal/UseBoundGenericArgsConstructor.qll 84d4a959d098fcd1713cb169e15b4945d846121701d2c5709b11e19202c21f2b 93113c92be9bc9f0b8530c308fe482dfeddc7dc827fc44049cecb3eab28df731 -lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll f5c082fc8f7d9acc3783da18e61ad2c9831b46c1855e1bde9b7af95adc289ad9 eb83520c5333b199788638ccd70ee8e96fc3f05306072f51a76fd0a643f8930f +lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll 0f98d47c1e09c46dd3da66a4770181a0caae0512b362faaec997af22bb5f4ce7 1919235e50b9d2fee9bd5d407a0bc023a02dbb04b2662349fad5a8d6cfa98069 lib/codeql/rust/elements/internal/UseConstructor.qll a4f790795e18abc29a50d6fbaa0db64cba781e3259a42cbf0468c24ac66b63e7 2fa288f073ac094a838c11f091def2c790b347b6a1b79407c11b10c73d6bff57 lib/codeql/rust/elements/internal/UseTreeConstructor.qll 3e6e834100fcc7249f8a20f8bd9debe09b705fcf5a0e655537e71ac1c6f7956b cdbc84b8f1b009be1e4a7aaba7f5237823cea62c86b38f1794aad97e3dfcf64b lib/codeql/rust/elements/internal/UseTreeListConstructor.qll 973577da5d7b58eb245f108bd1ae2fecc5645f2795421dedf7687b067a233003 f41e5e3ffcb2a387e5c37f56c0b271e8dc20428b6ff4c63e1ee42fcfa4e67d0a @@ -584,13 +584,13 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 8d0ea4f6c7f8203340bf lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9 -lib/codeql/rust/elements/internal/generated/Raw.qll 3f86deef2f54093e3b4bd24237ba0d80fa94856fdcf2ba6a9812033bec6c0021 30cd773ce7a390afbdabd8a078f5f1408671eaca6fa7e213bed6196dfa872447 +lib/codeql/rust/elements/internal/generated/Raw.qll f50925f4925848cef73003adf01420566ca3efa16f491eadac62a30972ee9204 17d62252413618e1fa162c6c0b303ccfcac5f7f70cc170d739b20cc95f57035b lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 5b0663a6d234572fb3e467e276d019415caa95ef006438cc59b7af4e1783161e 0e27c8a8f0e323c0e4d6db01fca821bf07c0864d293cdf96fa891b10820c1e4b lib/codeql/rust/elements/internal/generated/Rename.qll 53dd50d35aa38cb6eb4174c94e8e23042b42bdc4f38df009489ebf707380483b db14fbce0d95b4dae3d7512f9bdee92e0dc2dffde5ba5d7458f2f5dd632876b0 lib/codeql/rust/elements/internal/generated/RestPat.qll 369f5828bb78f2856d528679a9869f81859b375c2f831ff72f4507daaee976e3 17f24ce8aa6a27359c10a654667b7877ca7a1509509e2ab246ed26fe15ef66b4 -lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll 7e782d6ca346fd4057e95a6eefe796e3fba7eef62144a0df78e2d115a7ae9ba9 d5da144e06d180673fa7ce274c5e7e2ca2db12b064df1155bc56f2f9378b58b4 +lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll 853b7fd6c1f3678d0f9315ac23a99a0828a6e54148de24016a265039c7b1941c f1e140d2b113c494601143b735482869ee817c8a7d92026f6a511bc5c1420552 lib/codeql/rust/elements/internal/generated/ReturnExpr.qll c9c05400d326cd8e0da11c3bfa524daa08b2579ecaee80e468076e5dd7911d56 e7694926727220f46a7617b6ca336767450e359c6fa3782e82b1e21d85d37268 lib/codeql/rust/elements/internal/generated/ReturnTypeSyntax.qll 7b7692ca9fbe627afa0759050a740f0f42a8083446c1c3196084f5698fc570c3 96a735d60a3919c7c994f7b67930c9e51a3713940678d04a5fee54557d733c24 lib/codeql/rust/elements/internal/generated/SelfParam.qll 076c583f7f34e29aaaf3319e9d64565a34c64caa5a6dfca240c0cc7800e9a14c 375afed1772d193b71980d3825c4ac438e90b295cba0baf58319d29a3a8463a0 @@ -634,7 +634,7 @@ lib/codeql/rust/elements/internal/generated/Unimplemented.qll a3eb304781991bff12 lib/codeql/rust/elements/internal/generated/Union.qll 456504e6a32991ba17ca65f97636f4dfb86c758c7f8509aaca1b0d0432231dfe c96068edfec3e0755a7726426a10996455ee9f0f2d678af258719f1943a3063e lib/codeql/rust/elements/internal/generated/Use.qll cf95b5c4756b25bee74113207786e37464ffbc0fb5f776a04c651300afc53753 1fe26b3904db510184cb688cb0eeb0a8dbac7ac15e27a3b572d839743c738393 lib/codeql/rust/elements/internal/generated/UseBoundGenericArg.qll 69162794e871291545ea04f61259b2d000671a96f7ca129f7dd9ed6e984067c4 31de9ebc0634b38e2347e0608b4ea888892f1f2732a2892464078cd8a07b4ee8 -lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll 2cc8ab0068b7bf44ca17a62b32a8dd1d89cd743532c8a96b262b164fd81b0c36 347e7709a0f5ace197beb6827f6cf04a31ff68ff2dff3707914c6b910658d00a +lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll cedde7ccf689e3a2a246113be94544c206c56fb1c01b83b074e1f6edd3acfced f022ea4c653d1b5f311917efde8e59be27394ce7f6abf2561bb1e42f93f74adf lib/codeql/rust/elements/internal/generated/UseTree.qll 3d7cbcc8ae76068b8f660c7d5b81b05595026043015cd6b4d42a60ed4c165811 b9f0bcf82feb31f31406e787670fee93e1aa0966bcc0e4cc285c342e88793e4e lib/codeql/rust/elements/internal/generated/UseTreeList.qll 38efaa569b76ca79be047703279388e8f64583a126b98078fbbb6586e0c6eb56 1623a50fd2d3b1e4b85323ad73dd655172f7cbc658d3506aaa6b409e9ebe576e lib/codeql/rust/elements/internal/generated/Variant.qll fa6909715133049b3dba4622e6262fa30c4a9478b6219ec4fd12e07c58750709 71fc2ddac97fc4c4e6b92a13ee217cccc81dffc7c12295b6bc97c56ad25a92cc diff --git a/rust/ql/lib/codeql/rust/elements/RetTypeRepr.qll b/rust/ql/lib/codeql/rust/elements/RetTypeRepr.qll index 205044d56b2c..348550cef5fc 100644 --- a/rust/ql/lib/codeql/rust/elements/RetTypeRepr.qll +++ b/rust/ql/lib/codeql/rust/elements/RetTypeRepr.qll @@ -12,7 +12,7 @@ import codeql.rust.elements.TypeRepr * * For example: * ```rust - * fn foo() -> i32 {} + * fn foo() -> i32 { 0 } * // ^^^^^^ * ``` */ diff --git a/rust/ql/lib/codeql/rust/elements/UseBoundGenericArgs.qll b/rust/ql/lib/codeql/rust/elements/UseBoundGenericArgs.qll index f3784ffdab25..f06180cfefcf 100644 --- a/rust/ql/lib/codeql/rust/elements/UseBoundGenericArgs.qll +++ b/rust/ql/lib/codeql/rust/elements/UseBoundGenericArgs.qll @@ -12,7 +12,7 @@ import codeql.rust.elements.UseBoundGenericArg * * For example: * ```rust - * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } * // ^^^^^^^^ * ``` */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/RetTypeReprImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/RetTypeReprImpl.qll index e7f9c48869d3..d8b6a5b9e82c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/RetTypeReprImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/RetTypeReprImpl.qll @@ -17,7 +17,7 @@ module Impl { * * For example: * ```rust - * fn foo() -> i32 {} + * fn foo() -> i32 { 0 } * // ^^^^^^ * ``` */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll index d8f1ed985f31..5b18c8f49789 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/UseBoundGenericArgsImpl.qll @@ -17,7 +17,7 @@ module Impl { * * For example: * ```rust - * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } * // ^^^^^^^^ * ``` */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 41b8e4513082..21782ed7db43 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -874,7 +874,7 @@ module Raw { * * For example: * ```rust - * fn foo() -> i32 {} + * fn foo() -> i32 { 0 } * // ^^^^^^ * ``` */ @@ -1270,7 +1270,7 @@ module Raw { * * For example: * ```rust - * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } * // ^^^^^^^^ * ``` */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll index e316b8b32f8d..1589d16f20d6 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/RetTypeRepr.qll @@ -19,7 +19,7 @@ module Generated { * * For example: * ```rust - * fn foo() -> i32 {} + * fn foo() -> i32 { 0 } * // ^^^^^^ * ``` * INTERNAL: Do not reference the `Generated::RetTypeRepr` class directly. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll index 9ba10bdf876e..3f76518c2404 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/UseBoundGenericArgs.qll @@ -19,7 +19,7 @@ module Generated { * * For example: * ```rust - * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + * pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } * // ^^^^^^^^ * ``` * INTERNAL: Do not reference the `Generated::UseBoundGenericArgs` class directly. diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list index 2fcb0b79be47..879695fb7585 100644 --- a/rust/ql/test/extractor-tests/generated/.generated_tests.list +++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list @@ -75,7 +75,7 @@ MacroItems/gen_macro_items.rs c00f8045d9a7d6562da1d0136b335b685e2ec5dbd708763faa MacroPat/gen_macro_pat.rs 6bc63338397e6ef322a1824ce7d8fa68629a81c740f6e1d5347642501c83683a 6bc63338397e6ef322a1824ce7d8fa68629a81c740f6e1d5347642501c83683a MacroRules/gen_macro_rules.rs 5483484783b19a4f4cb7565cf63c517e61a76ce5b5b4bdc9b90f7e235a4c03b7 5483484783b19a4f4cb7565cf63c517e61a76ce5b5b4bdc9b90f7e235a4c03b7 MacroTypeRepr/gen_macro_type_repr.rs cdb9670dde8b2a71256bc8d4acb1d63bd726cb49ee486ca2dbf1952884fd9c37 cdb9670dde8b2a71256bc8d4acb1d63bd726cb49ee486ca2dbf1952884fd9c37 -MatchArm/gen_match_arm.rs ac75b4836a103e2755bd47a1ee1b74af6eb8349adc4ebedaaa27b3ea3ae41aa5 ac75b4836a103e2755bd47a1ee1b74af6eb8349adc4ebedaaa27b3ea3ae41aa5 +MatchArm/gen_match_arm.rs 4f4e717930729b2161b9cf9cd5e2b86b8e919204f5f7d4993d2c4e1034858cea 4f4e717930729b2161b9cf9cd5e2b86b8e919204f5f7d4993d2c4e1034858cea MatchArmList/gen_match_arm_list.rs 6dcb92591c86771d2aeb762e4274d3e61a7d6c1a42da3dbace1cbc545b474080 6dcb92591c86771d2aeb762e4274d3e61a7d6c1a42da3dbace1cbc545b474080 MatchExpr/gen_match_expr.rs 081c5d4c78cb71ccd13fb37a93d7f525267c51b179f44b5a22ca3297897002a0 081c5d4c78cb71ccd13fb37a93d7f525267c51b179f44b5a22ca3297897002a0 MatchGuard/gen_match_guard.rs f0e84a1f608c0361983c516a40216cea149620a36e0aed7ff39b0b7d77a9ab8a f0e84a1f608c0361983c516a40216cea149620a36e0aed7ff39b0b7d77a9ab8a @@ -106,7 +106,7 @@ RefPat/gen_ref_pat.rs aba7518649d9a37928e59a40d42f76cc0f4735e8daf711a3def6d2f052 RefTypeRepr/gen_ref_type_repr.rs cf7b32d64550cd0b5033869b841089c1de292a1b25d3bd44c63ef9a265b9c8fb cf7b32d64550cd0b5033869b841089c1de292a1b25d3bd44c63ef9a265b9c8fb Rename/gen_rename.rs 05957dd5c7a0971223a485207ef3e98b0408a3e765cfb1fd6237bcc21c89f21a 05957dd5c7a0971223a485207ef3e98b0408a3e765cfb1fd6237bcc21c89f21a RestPat/gen_rest_pat.rs e9c977c8d3fce1d931abdfc025444e3e883468927f784ad1791670cace736aa7 e9c977c8d3fce1d931abdfc025444e3e883468927f784ad1791670cace736aa7 -RetTypeRepr/gen_ret_type_repr.rs 9db86003c7a4d91aa13fbc8220559bea6a05221c38c3f3ac0e03c6ac790aebcc 9db86003c7a4d91aa13fbc8220559bea6a05221c38c3f3ac0e03c6ac790aebcc +RetTypeRepr/gen_ret_type_repr.rs b5d66327b445e8290be59a4fc4217d8163aa5ab5e49d9335efa1037b7ca5dc6f b5d66327b445e8290be59a4fc4217d8163aa5ab5e49d9335efa1037b7ca5dc6f ReturnExpr/gen_return_expr.rs 4f6ef29d7b3c60d6d71d1a6034a0721671f517428ba21897361a92b01009d38f 4f6ef29d7b3c60d6d71d1a6034a0721671f517428ba21897361a92b01009d38f ReturnTypeSyntax/gen_return_type_syntax.rs 648ce343023e7f80c445fada390870c5498add7fdf63dc82a800f6a77b7e7026 648ce343023e7f80c445fada390870c5498add7fdf63dc82a800f6a77b7e7026 SelfParam/gen_self_param.rs 15491f86a32020c9ed3ecadc08c945ed01916b63683f95d2f5c1bedb4f3f01f2 15491f86a32020c9ed3ecadc08c945ed01916b63683f95d2f5c1bedb4f3f01f2 @@ -142,7 +142,7 @@ TypeParam/gen_type_param.rs 00b92ac7042ae83be1e37cd22f6d02098ca3157dc1ef45fbdf3b UnderscoreExpr/gen_underscore_expr.rs fe34e99d322bf86c0f5509c9b5fd6e1e8abbdf63dbe7e01687344a41e9aabe52 fe34e99d322bf86c0f5509c9b5fd6e1e8abbdf63dbe7e01687344a41e9aabe52 Union/gen_union.rs 0adc276bf324661137b4de7c4522afd5f7b2776e913c4a6ecc580ce3d753a51d 0adc276bf324661137b4de7c4522afd5f7b2776e913c4a6ecc580ce3d753a51d Use/gen_use.rs 3a8a426109080ce2a0ed5a68a83cfa195196c9f0a14eff328b7be54d1131eede 3a8a426109080ce2a0ed5a68a83cfa195196c9f0a14eff328b7be54d1131eede -UseBoundGenericArgs/gen_use_bound_generic_args.rs 1da801583b77f5f064d729a1d4313a863f1ad2e1dcc11c963194839cba977367 1da801583b77f5f064d729a1d4313a863f1ad2e1dcc11c963194839cba977367 +UseBoundGenericArgs/gen_use_bound_generic_args.rs 7b9542a4fd4025bdef5e3fab0e76a85c533936793d8791b5e4ed93d6d1e503e9 7b9542a4fd4025bdef5e3fab0e76a85c533936793d8791b5e4ed93d6d1e503e9 UseTree/gen_use_tree.rs 90660192ec361e96d0fee9dc03c34fcdf0a102269df33be45856c63ad5d18ff2 90660192ec361e96d0fee9dc03c34fcdf0a102269df33be45856c63ad5d18ff2 UseTreeList/gen_use_tree_list.rs 2494aadcec03a3f7a6e2ae448ee70ec6774f840e9519c668b2afe8cd968211c9 2494aadcec03a3f7a6e2ae448ee70ec6774f840e9519c668b2afe8cd968211c9 Variant/gen_variant.rs fa3d3a9e3e0c3aa565b965fad9c3dc2ffd5a8d82963e3a55a9acbb0f14b603d6 fa3d3a9e3e0c3aa565b965fad9c3dc2ffd5a8d82963e3a55a9acbb0f14b603d6 diff --git a/rust/ql/test/extractor-tests/generated/MatchArm/gen_match_arm.rs b/rust/ql/test/extractor-tests/generated/MatchArm/gen_match_arm.rs index 5f5922e8ef4c..39083d30d22a 100644 --- a/rust/ql/test/extractor-tests/generated/MatchArm/gen_match_arm.rs +++ b/rust/ql/test/extractor-tests/generated/MatchArm/gen_match_arm.rs @@ -1,6 +1,6 @@ // generated by codegen, do not edit -fn test_match_arm(x: i32) -> i32 { +fn test_match_arm(x: i32) { // A match arm. For example: match x { Option::Some(y) => y, diff --git a/rust/ql/test/extractor-tests/generated/RetTypeRepr/gen_ret_type_repr.rs b/rust/ql/test/extractor-tests/generated/RetTypeRepr/gen_ret_type_repr.rs index a3294ce85451..361740fbd374 100644 --- a/rust/ql/test/extractor-tests/generated/RetTypeRepr/gen_ret_type_repr.rs +++ b/rust/ql/test/extractor-tests/generated/RetTypeRepr/gen_ret_type_repr.rs @@ -4,6 +4,6 @@ fn test_ret_type_repr() -> () { // A return type in a function signature. // // For example: - fn foo() -> i32 {} + fn foo() -> i32 { 0 } // ^^^^^^ } diff --git a/rust/ql/test/extractor-tests/generated/UseBoundGenericArgs/gen_use_bound_generic_args.rs b/rust/ql/test/extractor-tests/generated/UseBoundGenericArgs/gen_use_bound_generic_args.rs index bb04264d33e1..c53c6de548d0 100644 --- a/rust/ql/test/extractor-tests/generated/UseBoundGenericArgs/gen_use_bound_generic_args.rs +++ b/rust/ql/test/extractor-tests/generated/UseBoundGenericArgs/gen_use_bound_generic_args.rs @@ -4,6 +4,6 @@ fn test_use_bound_generic_args() -> () { // A use<..> bound to control which generic parameters are captured by an impl Trait return type. // // For example: - pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } // ^^^^^^^^ } 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 02a800650f30..e1585e2e0d34 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -9,9 +9,9 @@ multipleCallTargets | main.rs:590:9:590:18 | ...::m(...) | | main.rs:591:9:591:20 | ... .m() | | main.rs:592:9:592:24 | ...::m(...) | -| main.rs:2519:13:2519:31 | ...::from(...) | -| main.rs:2520:13:2520:31 | ...::from(...) | -| main.rs:2521:13:2521:31 | ...::from(...) | -| main.rs:2527:13:2527:31 | ...::from(...) | -| main.rs:2528:13:2528:31 | ...::from(...) | -| main.rs:2529:13:2529:31 | ...::from(...) | +| main.rs:2524:13:2524:31 | ...::from(...) | +| main.rs:2525:13:2525:31 | ...::from(...) | +| main.rs:2526:13:2526:31 | ...::from(...) | +| main.rs:2532:13:2532:31 | ...::from(...) | +| main.rs:2533:13:2533:31 | ...::from(...) | +| main.rs:2534:13:2534:31 | ...::from(...) | diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 9505b9193181..2b1cee3debfb 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -2122,6 +2122,10 @@ mod async_ { async { S1 } } + fn f3() -> impl Future { + async {} + } + struct S2; impl Future for S2 { @@ -2135,14 +2139,15 @@ mod async_ { } } - fn f3() -> impl Future { + fn f4() -> impl Future { S2 } pub async fn f() { f1().await.f(); // $ target=S1f target=f1 f2().await.f(); // $ target=S1f target=f2 - f3().await.f(); // $ target=S1f target=f3 + f3().await; // $ target=f3 + f4().await.f(); // $ target=S1f target=f4 S2.await.f(); // $ target=S1f let b = async { S1 }; b.await.f(); // $ target=S1f @@ -2824,6 +2829,14 @@ mod if_expr { } } +mod local_function { + pub fn f() -> () { + fn local(x: i32) -> i32 { + x + 1 // $ target=add + } + } +} + mod blanket_impl; mod closure; mod dereference; @@ -2863,4 +2876,5 @@ fn main() { pattern_matching_experimental::box_patterns(); // $ target=box_patterns dyn_type::test(); // $ target=test if_expr::f(true); // $ target=f + local_function::f(); // $ target=f } 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 6b6d9a135930..8fea18be996e 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -4504,1370 +4504,1381 @@ inferType | main.rs:2122:9:2122:20 | { ... } | | {EXTERNAL LOCATION} | trait Future | | main.rs:2122:9:2122:20 | { ... } | Output | main.rs:2111:5:2111:14 | S1 | | main.rs:2122:17:2122:18 | S1 | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2131:13:2131:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:2131:13:2131:42 | SelfParam | Ptr | file://:0:0:0:0 | & | -| main.rs:2131:13:2131:42 | SelfParam | Ptr.&T | main.rs:2125:5:2125:14 | S2 | -| main.rs:2132:13:2132:15 | _cx | | file://:0:0:0:0 | & | -| main.rs:2132:13:2132:15 | _cx | &T | {EXTERNAL LOCATION} | Context | -| main.rs:2133:44:2135:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:2133:44:2135:9 | { ... } | T | main.rs:2111:5:2111:14 | S1 | -| main.rs:2134:13:2134:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | -| main.rs:2134:13:2134:38 | ...::Ready(...) | T | main.rs:2111:5:2111:14 | S1 | -| main.rs:2134:36:2134:37 | S1 | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2138:41:2140:5 | { ... } | | main.rs:2138:16:2138:39 | impl ... | -| main.rs:2139:9:2139:10 | S2 | | main.rs:2125:5:2125:14 | S2 | -| main.rs:2139:9:2139:10 | S2 | | main.rs:2138:16:2138:39 | impl ... | -| main.rs:2143:9:2143:12 | f1(...) | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2143:9:2143:12 | f1(...) | Output | main.rs:2111:5:2111:14 | S1 | -| main.rs:2143:9:2143:18 | await ... | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2144:9:2144:12 | f2(...) | | main.rs:2121:16:2121:39 | impl ... | -| main.rs:2144:9:2144:18 | await ... | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2145:9:2145:12 | f3(...) | | main.rs:2138:16:2138:39 | impl ... | -| main.rs:2145:9:2145:18 | await ... | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2146:9:2146:10 | S2 | | main.rs:2125:5:2125:14 | S2 | -| main.rs:2146:9:2146:16 | await S2 | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2147:13:2147:13 | b | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2147:13:2147:13 | b | Output | main.rs:2111:5:2111:14 | S1 | -| main.rs:2147:17:2147:28 | { ... } | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2147:17:2147:28 | { ... } | Output | main.rs:2111:5:2111:14 | S1 | -| main.rs:2147:25:2147:26 | S1 | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2148:9:2148:9 | b | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2148:9:2148:9 | b | Output | main.rs:2111:5:2111:14 | S1 | -| main.rs:2148:9:2148:15 | await b | | main.rs:2111:5:2111:14 | S1 | -| main.rs:2159:15:2159:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2159:15:2159:19 | SelfParam | &T | main.rs:2158:5:2160:5 | Self [trait Trait1] | -| main.rs:2163:15:2163:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2163:15:2163:19 | SelfParam | &T | main.rs:2162:5:2164:5 | Self [trait Trait2] | -| main.rs:2167:15:2167:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2167:15:2167:19 | SelfParam | &T | main.rs:2153:5:2154:14 | S1 | -| main.rs:2171:15:2171:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2171:15:2171:19 | SelfParam | &T | main.rs:2153:5:2154:14 | S1 | -| main.rs:2174:37:2176:5 | { ... } | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2175:9:2175:10 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2175:9:2175:10 | S1 | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2179:18:2179:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2179:18:2179:22 | SelfParam | &T | main.rs:2178:5:2180:5 | Self [trait MyTrait] | -| main.rs:2183:18:2183:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2183:18:2183:22 | SelfParam | &T | main.rs:2153:5:2154:14 | S1 | -| main.rs:2183:31:2185:9 | { ... } | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2184:13:2184:14 | S2 | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2189:18:2189:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2189:18:2189:22 | SelfParam | &T | main.rs:2156:5:2156:22 | S3 | -| main.rs:2189:18:2189:22 | SelfParam | &T.T3 | main.rs:2188:10:2188:17 | T | -| main.rs:2189:30:2192:9 | { ... } | | main.rs:2188:10:2188:17 | T | -| main.rs:2190:17:2190:21 | S3(...) | | file://:0:0:0:0 | & | -| main.rs:2190:17:2190:21 | S3(...) | | main.rs:2156:5:2156:22 | S3 | -| main.rs:2190:17:2190:21 | S3(...) | &T | main.rs:2156:5:2156:22 | S3 | -| main.rs:2190:17:2190:21 | S3(...) | &T.T3 | main.rs:2188:10:2188:17 | T | -| main.rs:2190:25:2190:28 | self | | file://:0:0:0:0 | & | -| main.rs:2190:25:2190:28 | self | &T | main.rs:2156:5:2156:22 | S3 | -| main.rs:2190:25:2190:28 | self | &T.T3 | main.rs:2188:10:2188:17 | T | -| main.rs:2191:13:2191:21 | t.clone() | | main.rs:2188:10:2188:17 | T | -| main.rs:2195:45:2197:5 | { ... } | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2196:9:2196:10 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2196:9:2196:10 | S1 | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2199:41:2199:41 | t | | main.rs:2199:26:2199:38 | B | -| main.rs:2199:52:2201:5 | { ... } | | main.rs:2199:23:2199:23 | A | -| main.rs:2200:9:2200:9 | t | | main.rs:2199:26:2199:38 | B | -| main.rs:2200:9:2200:17 | t.get_a() | | main.rs:2199:23:2199:23 | A | -| main.rs:2203:34:2203:34 | x | | main.rs:2203:24:2203:31 | T | -| main.rs:2203:59:2205:5 | { ... } | | main.rs:2203:43:2203:57 | impl ... | -| main.rs:2203:59:2205:5 | { ... } | impl(T) | main.rs:2203:24:2203:31 | T | -| main.rs:2204:9:2204:13 | S3(...) | | main.rs:2156:5:2156:22 | S3 | -| main.rs:2204:9:2204:13 | S3(...) | | main.rs:2203:43:2203:57 | impl ... | -| main.rs:2204:9:2204:13 | S3(...) | T3 | main.rs:2203:24:2203:31 | T | -| main.rs:2204:9:2204:13 | S3(...) | impl(T) | main.rs:2203:24:2203:31 | T | -| main.rs:2204:12:2204:12 | x | | main.rs:2203:24:2203:31 | T | -| main.rs:2207:34:2207:34 | x | | main.rs:2207:24:2207:31 | T | -| main.rs:2207:67:2209:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2207:67:2209:5 | { ... } | T | main.rs:2207:50:2207:64 | impl ... | -| main.rs:2207:67:2209:5 | { ... } | T.impl(T) | main.rs:2207:24:2207:31 | T | -| main.rs:2208:9:2208:19 | Some(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2208:9:2208:19 | Some(...) | T | main.rs:2156:5:2156:22 | S3 | -| main.rs:2208:9:2208:19 | Some(...) | T | main.rs:2207:50:2207:64 | impl ... | -| main.rs:2208:9:2208:19 | Some(...) | T.T3 | main.rs:2207:24:2207:31 | T | -| main.rs:2208:9:2208:19 | Some(...) | T.impl(T) | main.rs:2207:24:2207:31 | T | -| main.rs:2208:14:2208:18 | S3(...) | | main.rs:2156:5:2156:22 | S3 | -| main.rs:2208:14:2208:18 | S3(...) | | main.rs:2207:50:2207:64 | impl ... | -| main.rs:2208:14:2208:18 | S3(...) | T3 | main.rs:2207:24:2207:31 | T | -| main.rs:2208:14:2208:18 | S3(...) | impl(T) | main.rs:2207:24:2207:31 | T | -| main.rs:2208:17:2208:17 | x | | main.rs:2207:24:2207:31 | T | -| main.rs:2211:34:2211:34 | x | | main.rs:2211:24:2211:31 | T | -| main.rs:2211:78:2213:5 | { ... } | | file://:0:0:0:0 | (T_2) | -| main.rs:2211:78:2213:5 | { ... } | 0(2) | main.rs:2211:44:2211:58 | impl ... | -| main.rs:2211:78:2213:5 | { ... } | 0(2).impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2211:78:2213:5 | { ... } | 1(2) | main.rs:2211:61:2211:75 | impl ... | -| main.rs:2211:78:2213:5 | { ... } | 1(2).impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2212:9:2212:30 | TupleExpr | | file://:0:0:0:0 | (T_2) | -| main.rs:2212:9:2212:30 | TupleExpr | 0(2) | main.rs:2156:5:2156:22 | S3 | -| main.rs:2212:9:2212:30 | TupleExpr | 0(2) | main.rs:2211:44:2211:58 | impl ... | -| main.rs:2212:9:2212:30 | TupleExpr | 0(2).T3 | main.rs:2211:24:2211:31 | T | -| main.rs:2212:9:2212:30 | TupleExpr | 0(2).impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2212:9:2212:30 | TupleExpr | 1(2) | main.rs:2156:5:2156:22 | S3 | -| main.rs:2212:9:2212:30 | TupleExpr | 1(2) | main.rs:2211:61:2211:75 | impl ... | -| main.rs:2212:9:2212:30 | TupleExpr | 1(2).T3 | main.rs:2211:24:2211:31 | T | -| main.rs:2212:9:2212:30 | TupleExpr | 1(2).impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2212:10:2212:22 | S3(...) | | main.rs:2156:5:2156:22 | S3 | -| main.rs:2212:10:2212:22 | S3(...) | | main.rs:2211:44:2211:58 | impl ... | -| main.rs:2212:10:2212:22 | S3(...) | T3 | main.rs:2211:24:2211:31 | T | -| main.rs:2212:10:2212:22 | S3(...) | impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2212:13:2212:13 | x | | main.rs:2211:24:2211:31 | T | -| main.rs:2212:13:2212:21 | x.clone() | | main.rs:2211:24:2211:31 | T | -| main.rs:2212:25:2212:29 | S3(...) | | main.rs:2156:5:2156:22 | S3 | -| main.rs:2212:25:2212:29 | S3(...) | | main.rs:2211:61:2211:75 | impl ... | -| main.rs:2212:25:2212:29 | S3(...) | T3 | main.rs:2211:24:2211:31 | T | -| main.rs:2212:25:2212:29 | S3(...) | impl(T) | main.rs:2211:24:2211:31 | T | -| main.rs:2212:28:2212:28 | x | | main.rs:2211:24:2211:31 | T | -| main.rs:2215:26:2215:26 | t | | main.rs:2215:29:2215:43 | impl ... | -| main.rs:2215:51:2217:5 | { ... } | | main.rs:2215:23:2215:23 | A | -| main.rs:2216:9:2216:9 | t | | main.rs:2215:29:2215:43 | impl ... | -| main.rs:2216:9:2216:17 | t.get_a() | | main.rs:2215:23:2215:23 | A | -| main.rs:2220:13:2220:13 | x | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2220:17:2220:20 | f1(...) | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2221:9:2221:9 | x | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2222:9:2222:9 | x | | main.rs:2174:16:2174:35 | impl ... + ... | -| main.rs:2223:13:2223:13 | a | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2223:17:2223:32 | get_a_my_trait(...) | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2224:13:2224:13 | b | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2224:17:2224:33 | uses_my_trait1(...) | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2224:32:2224:32 | a | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2225:13:2225:13 | a | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2225:17:2225:32 | get_a_my_trait(...) | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2226:13:2226:13 | c | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2226:17:2226:33 | uses_my_trait2(...) | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2226:32:2226:32 | a | | main.rs:2195:28:2195:43 | impl ... | -| main.rs:2227:13:2227:13 | d | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2227:17:2227:34 | uses_my_trait2(...) | | main.rs:2155:5:2155:14 | S2 | -| main.rs:2227:32:2227:33 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2228:13:2228:13 | e | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2228:17:2228:35 | get_a_my_trait2(...) | | main.rs:2203:43:2203:57 | impl ... | -| main.rs:2228:17:2228:35 | get_a_my_trait2(...) | impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2228:17:2228:43 | ... .get_a() | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2228:33:2228:34 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2231:13:2231:13 | f | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2231:17:2231:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2231:17:2231:35 | get_a_my_trait3(...) | T | main.rs:2207:50:2207:64 | impl ... | -| main.rs:2231:17:2231:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2231:17:2231:44 | ... .unwrap() | | main.rs:2207:50:2207:64 | impl ... | -| main.rs:2231:17:2231:44 | ... .unwrap() | impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2231:17:2231:52 | ... .get_a() | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2231:33:2231:34 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:13:2232:13 | g | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:17:2232:35 | get_a_my_trait4(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2232:17:2232:35 | get_a_my_trait4(...) | 0(2) | main.rs:2211:44:2211:58 | impl ... | -| main.rs:2232:17:2232:35 | get_a_my_trait4(...) | 0(2).impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:17:2232:35 | get_a_my_trait4(...) | 1(2) | main.rs:2211:61:2211:75 | impl ... | -| main.rs:2232:17:2232:35 | get_a_my_trait4(...) | 1(2).impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:17:2232:37 | ... .0 | | main.rs:2211:44:2211:58 | impl ... | -| main.rs:2232:17:2232:37 | ... .0 | impl(T) | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:17:2232:45 | ... .get_a() | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2232:33:2232:34 | S1 | | main.rs:2153:5:2154:14 | S1 | -| main.rs:2243:16:2243:20 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2243:16:2243:20 | SelfParam | &T | main.rs:2239:5:2240:13 | S | -| main.rs:2243:31:2245:9 | { ... } | | main.rs:2239:5:2240:13 | S | -| main.rs:2244:13:2244:13 | S | | main.rs:2239:5:2240:13 | S | -| main.rs:2254:26:2256:9 | { ... } | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2254:26:2256:9 | { ... } | T | main.rs:2253:10:2253:10 | T | -| main.rs:2255:13:2255:38 | MyVec {...} | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2255:13:2255:38 | MyVec {...} | T | main.rs:2253:10:2253:10 | T | -| main.rs:2255:27:2255:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2255:27:2255:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2255:27:2255:36 | ...::new(...) | T | main.rs:2253:10:2253:10 | T | -| main.rs:2258:17:2258:25 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2258:17:2258:25 | SelfParam | &T | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2258:17:2258:25 | SelfParam | &T.T | main.rs:2253:10:2253:10 | T | -| main.rs:2258:28:2258:32 | value | | main.rs:2253:10:2253:10 | T | -| main.rs:2259:13:2259:16 | self | | file://:0:0:0:0 | & | -| main.rs:2259:13:2259:16 | self | &T | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2259:13:2259:16 | self | &T.T | main.rs:2253:10:2253:10 | T | -| main.rs:2259:13:2259:21 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2259:13:2259:21 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2259:13:2259:21 | self.data | T | main.rs:2253:10:2253:10 | T | -| main.rs:2259:28:2259:32 | value | | main.rs:2253:10:2253:10 | T | -| main.rs:2267:18:2267:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2267:18:2267:22 | SelfParam | &T | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2267:18:2267:22 | SelfParam | &T.T | main.rs:2263:10:2263:10 | T | -| main.rs:2267:25:2267:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2267:56:2269:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:2267:56:2269:9 | { ... } | &T | main.rs:2263:10:2263:10 | T | -| main.rs:2268:13:2268:29 | &... | | file://:0:0:0:0 | & | -| main.rs:2268:13:2268:29 | &... | &T | main.rs:2263:10:2263:10 | T | -| main.rs:2268:14:2268:17 | self | | file://:0:0:0:0 | & | -| main.rs:2268:14:2268:17 | self | &T | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2268:14:2268:17 | self | &T.T | main.rs:2263:10:2263:10 | T | -| main.rs:2268:14:2268:22 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2268:14:2268:22 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2268:14:2268:22 | self.data | T | main.rs:2263:10:2263:10 | T | -| main.rs:2268:14:2268:29 | ...[index] | | main.rs:2263:10:2263:10 | T | -| main.rs:2268:24:2268:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2272:22:2272:26 | slice | | file://:0:0:0:0 | & | -| main.rs:2272:22:2272:26 | slice | &T | file://:0:0:0:0 | [] | -| main.rs:2272:22:2272:26 | slice | &T.[T] | main.rs:2239:5:2240:13 | S | -| main.rs:2273:13:2273:13 | x | | main.rs:2239:5:2240:13 | S | -| main.rs:2273:17:2273:21 | slice | | file://:0:0:0:0 | & | -| main.rs:2273:17:2273:21 | slice | &T | file://:0:0:0:0 | [] | -| main.rs:2273:17:2273:21 | slice | &T.[T] | main.rs:2239:5:2240:13 | S | -| main.rs:2273:17:2273:24 | slice[0] | | main.rs:2239:5:2240:13 | S | -| main.rs:2273:17:2273:30 | ... .foo() | | main.rs:2239:5:2240:13 | S | -| main.rs:2273:23:2273:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2276:37:2276:37 | a | | main.rs:2276:20:2276:34 | T | -| main.rs:2276:43:2276:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2279:5:2281:5 | { ... } | | {EXTERNAL LOCATION} | Output | -| main.rs:2280:9:2280:9 | a | | main.rs:2276:20:2276:34 | T | -| main.rs:2280:9:2280:12 | a[b] | | {EXTERNAL LOCATION} | Output | -| main.rs:2280:11:2280:11 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2284:17:2284:19 | vec | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2284:17:2284:19 | vec | T | main.rs:2239:5:2240:13 | S | -| main.rs:2284:23:2284:34 | ...::new(...) | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2284:23:2284:34 | ...::new(...) | T | main.rs:2239:5:2240:13 | S | -| main.rs:2285:9:2285:11 | vec | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2285:9:2285:11 | vec | T | main.rs:2239:5:2240:13 | S | -| main.rs:2285:18:2285:18 | S | | main.rs:2239:5:2240:13 | S | -| main.rs:2286:9:2286:11 | vec | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2286:9:2286:11 | vec | T | main.rs:2239:5:2240:13 | S | -| main.rs:2286:9:2286:14 | vec[0] | | main.rs:2239:5:2240:13 | S | -| main.rs:2286:9:2286:20 | ... .foo() | | main.rs:2239:5:2240:13 | S | -| main.rs:2286:13:2286:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2286:13:2286:13 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:2288:13:2288:14 | xs | | file://:0:0:0:0 | [] | -| main.rs:2288:13:2288:14 | xs | [T;...] | main.rs:2239:5:2240:13 | S | -| main.rs:2288:21:2288:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2288:26:2288:28 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2288:26:2288:28 | [...] | [T;...] | main.rs:2239:5:2240:13 | S | -| main.rs:2288:27:2288:27 | S | | main.rs:2239:5:2240:13 | S | -| main.rs:2289:13:2289:13 | x | | main.rs:2239:5:2240:13 | S | -| main.rs:2289:17:2289:18 | xs | | file://:0:0:0:0 | [] | -| main.rs:2289:17:2289:18 | xs | [T;...] | main.rs:2239:5:2240:13 | S | -| main.rs:2289:17:2289:21 | xs[0] | | main.rs:2239:5:2240:13 | S | -| main.rs:2289:17:2289:27 | ... .foo() | | main.rs:2239:5:2240:13 | S | -| main.rs:2289:20:2289:20 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2291:29:2291:31 | vec | | main.rs:2248:5:2251:5 | MyVec | -| main.rs:2291:29:2291:31 | vec | T | main.rs:2239:5:2240:13 | S | -| main.rs:2291:34:2291:34 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2291:34:2291:34 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:2293:23:2293:25 | &xs | | file://:0:0:0:0 | & | -| main.rs:2293:23:2293:25 | &xs | &T | file://:0:0:0:0 | [] | -| main.rs:2293:23:2293:25 | &xs | &T | file://:0:0:0:0 | [] | -| main.rs:2293:23:2293:25 | &xs | &T.[T;...] | main.rs:2239:5:2240:13 | S | -| main.rs:2293:23:2293:25 | &xs | &T.[T] | main.rs:2239:5:2240:13 | S | -| main.rs:2293:24:2293:25 | xs | | file://:0:0:0:0 | [] | -| main.rs:2293:24:2293:25 | xs | [T;...] | main.rs:2239:5:2240:13 | S | -| main.rs:2299:13:2299:13 | x | | {EXTERNAL LOCATION} | String | -| main.rs:2299:17:2299:46 | MacroExpr | | {EXTERNAL LOCATION} | String | -| main.rs:2299:25:2299:35 | "Hello, {}" | | file://:0:0:0:0 | & | -| main.rs:2299:25:2299:35 | "Hello, {}" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2299:25:2299:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2299:25:2299:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2299:25:2299:45 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2299:25:2299:45 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2299:25:2299:45 | { ... } | | {EXTERNAL LOCATION} | String | -| main.rs:2299:38:2299:45 | "World!" | | file://:0:0:0:0 | & | -| main.rs:2299:38:2299:45 | "World!" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2308:19:2308:22 | SelfParam | | main.rs:2304:5:2309:5 | Self [trait MyAdd] | -| main.rs:2308:25:2308:27 | rhs | | main.rs:2304:17:2304:26 | Rhs | -| main.rs:2315:19:2315:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2315:25:2315:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2315:45:2317:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2316:13:2316:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2324:19:2324:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2324:25:2324:29 | value | | file://:0:0:0:0 | & | -| main.rs:2324:25:2324:29 | value | &T | {EXTERNAL LOCATION} | i64 | -| main.rs:2324:46:2326:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2325:13:2325:18 | * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2325:14:2325:18 | value | | file://:0:0:0:0 | & | -| main.rs:2325:14:2325:18 | value | &T | {EXTERNAL LOCATION} | i64 | -| main.rs:2333:19:2333:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2333:25:2333:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2333:46:2339:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2334:13:2338:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2334:13:2338:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2334:16:2334:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2334:22:2336:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2334:22:2336:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2335:17:2335:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2335:17:2335:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2336:20:2338:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2336:20:2338:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2337:17:2337:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2337:17:2337:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2348:19:2348:22 | SelfParam | | main.rs:2342:5:2342:19 | S | -| main.rs:2348:19:2348:22 | SelfParam | T | main.rs:2344:10:2344:17 | T | -| main.rs:2348:25:2348:29 | other | | main.rs:2342:5:2342:19 | S | -| main.rs:2348:25:2348:29 | other | T | main.rs:2344:10:2344:17 | T | -| main.rs:2348:54:2350:9 | { ... } | | main.rs:2342:5:2342:19 | S | -| main.rs:2348:54:2350:9 | { ... } | T | main.rs:2305:9:2305:20 | Output | -| main.rs:2349:13:2349:39 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2349:13:2349:39 | S(...) | T | main.rs:2305:9:2305:20 | Output | -| main.rs:2349:15:2349:22 | (...) | | main.rs:2344:10:2344:17 | T | -| main.rs:2349:15:2349:38 | ... .my_add(...) | | main.rs:2305:9:2305:20 | Output | -| main.rs:2349:16:2349:19 | self | | main.rs:2342:5:2342:19 | S | -| main.rs:2349:16:2349:19 | self | T | main.rs:2344:10:2344:17 | T | -| main.rs:2349:16:2349:21 | self.0 | | main.rs:2344:10:2344:17 | T | -| main.rs:2349:31:2349:35 | other | | main.rs:2342:5:2342:19 | S | -| main.rs:2349:31:2349:35 | other | T | main.rs:2344:10:2344:17 | T | -| main.rs:2349:31:2349:37 | other.0 | | main.rs:2344:10:2344:17 | T | -| main.rs:2357:19:2357:22 | SelfParam | | main.rs:2342:5:2342:19 | S | -| main.rs:2357:19:2357:22 | SelfParam | T | main.rs:2353:10:2353:17 | T | -| main.rs:2357:25:2357:29 | other | | main.rs:2353:10:2353:17 | T | -| main.rs:2357:51:2359:9 | { ... } | | main.rs:2342:5:2342:19 | S | -| main.rs:2357:51:2359:9 | { ... } | T | main.rs:2305:9:2305:20 | Output | -| main.rs:2358:13:2358:37 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2358:13:2358:37 | S(...) | T | main.rs:2305:9:2305:20 | Output | -| main.rs:2358:15:2358:22 | (...) | | main.rs:2353:10:2353:17 | T | -| main.rs:2358:15:2358:36 | ... .my_add(...) | | main.rs:2305:9:2305:20 | Output | -| main.rs:2358:16:2358:19 | self | | main.rs:2342:5:2342:19 | S | -| main.rs:2358:16:2358:19 | self | T | main.rs:2353:10:2353:17 | T | -| main.rs:2358:16:2358:21 | self.0 | | main.rs:2353:10:2353:17 | T | -| main.rs:2358:31:2358:35 | other | | main.rs:2353:10:2353:17 | T | -| main.rs:2369:19:2369:22 | SelfParam | | main.rs:2342:5:2342:19 | S | -| main.rs:2369:19:2369:22 | SelfParam | T | main.rs:2362:14:2362:14 | T | -| main.rs:2369:25:2369:29 | other | | file://:0:0:0:0 | & | -| main.rs:2369:25:2369:29 | other | &T | main.rs:2362:14:2362:14 | T | -| main.rs:2369:55:2371:9 | { ... } | | main.rs:2342:5:2342:19 | S | -| main.rs:2370:13:2370:37 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2370:15:2370:22 | (...) | | main.rs:2362:14:2362:14 | T | -| main.rs:2370:16:2370:19 | self | | main.rs:2342:5:2342:19 | S | -| main.rs:2370:16:2370:19 | self | T | main.rs:2362:14:2362:14 | T | -| main.rs:2370:16:2370:21 | self.0 | | main.rs:2362:14:2362:14 | T | -| main.rs:2370:31:2370:35 | other | | file://:0:0:0:0 | & | -| main.rs:2370:31:2370:35 | other | &T | main.rs:2362:14:2362:14 | T | -| main.rs:2376:20:2376:24 | value | | main.rs:2374:18:2374:18 | T | -| main.rs:2381:20:2381:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2381:40:2383:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2382:13:2382:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2388:20:2388:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2388:41:2394:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2389:13:2393:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2389:13:2393:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2389:16:2389:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2389:22:2391:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2389:22:2391:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2390:17:2390:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2390:17:2390:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2391:20:2393:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2391:20:2393:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2392:17:2392:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2392:17:2392:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2399:21:2399:25 | value | | main.rs:2397:19:2397:19 | T | -| main.rs:2399:31:2399:31 | x | | main.rs:2397:5:2400:5 | Self [trait MyFrom2] | -| main.rs:2404:21:2404:25 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2404:33:2404:33 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2404:48:2406:9 | { ... } | | file://:0:0:0:0 | () | -| main.rs:2405:13:2405:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2411:21:2411:25 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2411:34:2411:34 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2411:49:2417:9 | { ... } | | file://:0:0:0:0 | () | -| main.rs:2412:13:2416:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2412:16:2412:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2412:22:2414:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2413:17:2413:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2414:20:2416:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2415:17:2415:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2422:15:2422:15 | x | | main.rs:2420:5:2426:5 | Self [trait MySelfTrait] | -| main.rs:2425:15:2425:15 | x | | main.rs:2420:5:2426:5 | Self [trait MySelfTrait] | -| main.rs:2430:15:2430:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2430:31:2432:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2431:13:2431:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2431:13:2431:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2431:17:2431:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2125:41:2127:5 | { ... } | | main.rs:2125:16:2125:39 | impl ... | +| main.rs:2126:9:2126:16 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2135:13:2135:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:2135:13:2135:42 | SelfParam | Ptr | file://:0:0:0:0 | & | +| main.rs:2135:13:2135:42 | SelfParam | Ptr.&T | main.rs:2129:5:2129:14 | S2 | +| main.rs:2136:13:2136:15 | _cx | | file://:0:0:0:0 | & | +| main.rs:2136:13:2136:15 | _cx | &T | {EXTERNAL LOCATION} | Context | +| main.rs:2137:44:2139:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:2137:44:2139:9 | { ... } | T | main.rs:2111:5:2111:14 | S1 | +| main.rs:2138:13:2138:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | +| main.rs:2138:13:2138:38 | ...::Ready(...) | T | main.rs:2111:5:2111:14 | S1 | +| main.rs:2138:36:2138:37 | S1 | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2142:41:2144:5 | { ... } | | main.rs:2142:16:2142:39 | impl ... | +| main.rs:2143:9:2143:10 | S2 | | main.rs:2129:5:2129:14 | S2 | +| main.rs:2143:9:2143:10 | S2 | | main.rs:2142:16:2142:39 | impl ... | +| main.rs:2147:9:2147:12 | f1(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2147:9:2147:12 | f1(...) | Output | main.rs:2111:5:2111:14 | S1 | +| main.rs:2147:9:2147:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2148:9:2148:12 | f2(...) | | main.rs:2121:16:2121:39 | impl ... | +| main.rs:2148:9:2148:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2149:9:2149:12 | f3(...) | | main.rs:2125:16:2125:39 | impl ... | +| main.rs:2149:9:2149:18 | await ... | | file://:0:0:0:0 | () | +| main.rs:2150:9:2150:12 | f4(...) | | main.rs:2142:16:2142:39 | impl ... | +| main.rs:2150:9:2150:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2151:9:2151:10 | S2 | | main.rs:2129:5:2129:14 | S2 | +| main.rs:2151:9:2151:16 | await S2 | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2152:13:2152:13 | b | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2152:13:2152:13 | b | Output | main.rs:2111:5:2111:14 | S1 | +| main.rs:2152:17:2152:28 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2152:17:2152:28 | { ... } | Output | main.rs:2111:5:2111:14 | S1 | +| main.rs:2152:25:2152:26 | S1 | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2153:9:2153:9 | b | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2153:9:2153:9 | b | Output | main.rs:2111:5:2111:14 | S1 | +| main.rs:2153:9:2153:15 | await b | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2164:15:2164:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2164:15:2164:19 | SelfParam | &T | main.rs:2163:5:2165:5 | Self [trait Trait1] | +| main.rs:2168:15:2168:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2168:15:2168:19 | SelfParam | &T | main.rs:2167:5:2169:5 | Self [trait Trait2] | +| main.rs:2172:15:2172:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2172:15:2172:19 | SelfParam | &T | main.rs:2158:5:2159:14 | S1 | +| main.rs:2176:15:2176:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2176:15:2176:19 | SelfParam | &T | main.rs:2158:5:2159:14 | S1 | +| main.rs:2179:37:2181:5 | { ... } | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2180:9:2180:10 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2180:9:2180:10 | S1 | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2184:18:2184:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2184:18:2184:22 | SelfParam | &T | main.rs:2183:5:2185:5 | Self [trait MyTrait] | +| main.rs:2188:18:2188:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2188:18:2188:22 | SelfParam | &T | main.rs:2158:5:2159:14 | S1 | +| main.rs:2188:31:2190:9 | { ... } | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2189:13:2189:14 | S2 | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2194:18:2194:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2194:18:2194:22 | SelfParam | &T | main.rs:2161:5:2161:22 | S3 | +| main.rs:2194:18:2194:22 | SelfParam | &T.T3 | main.rs:2193:10:2193:17 | T | +| main.rs:2194:30:2197:9 | { ... } | | main.rs:2193:10:2193:17 | T | +| main.rs:2195:17:2195:21 | S3(...) | | file://:0:0:0:0 | & | +| main.rs:2195:17:2195:21 | S3(...) | | main.rs:2161:5:2161:22 | S3 | +| main.rs:2195:17:2195:21 | S3(...) | &T | main.rs:2161:5:2161:22 | S3 | +| main.rs:2195:17:2195:21 | S3(...) | &T.T3 | main.rs:2193:10:2193:17 | T | +| main.rs:2195:25:2195:28 | self | | file://:0:0:0:0 | & | +| main.rs:2195:25:2195:28 | self | &T | main.rs:2161:5:2161:22 | S3 | +| main.rs:2195:25:2195:28 | self | &T.T3 | main.rs:2193:10:2193:17 | T | +| main.rs:2196:13:2196:21 | t.clone() | | main.rs:2193:10:2193:17 | T | +| main.rs:2200:45:2202:5 | { ... } | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2201:9:2201:10 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2201:9:2201:10 | S1 | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2204:41:2204:41 | t | | main.rs:2204:26:2204:38 | B | +| main.rs:2204:52:2206:5 | { ... } | | main.rs:2204:23:2204:23 | A | +| main.rs:2205:9:2205:9 | t | | main.rs:2204:26:2204:38 | B | +| main.rs:2205:9:2205:17 | t.get_a() | | main.rs:2204:23:2204:23 | A | +| main.rs:2208:34:2208:34 | x | | main.rs:2208:24:2208:31 | T | +| main.rs:2208:59:2210:5 | { ... } | | main.rs:2208:43:2208:57 | impl ... | +| main.rs:2208:59:2210:5 | { ... } | impl(T) | main.rs:2208:24:2208:31 | T | +| main.rs:2209:9:2209:13 | S3(...) | | main.rs:2161:5:2161:22 | S3 | +| main.rs:2209:9:2209:13 | S3(...) | | main.rs:2208:43:2208:57 | impl ... | +| main.rs:2209:9:2209:13 | S3(...) | T3 | main.rs:2208:24:2208:31 | T | +| main.rs:2209:9:2209:13 | S3(...) | impl(T) | main.rs:2208:24:2208:31 | T | +| main.rs:2209:12:2209:12 | x | | main.rs:2208:24:2208:31 | T | +| main.rs:2212:34:2212:34 | x | | main.rs:2212:24:2212:31 | T | +| main.rs:2212:67:2214:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2212:67:2214:5 | { ... } | T | main.rs:2212:50:2212:64 | impl ... | +| main.rs:2212:67:2214:5 | { ... } | T.impl(T) | main.rs:2212:24:2212:31 | T | +| main.rs:2213:9:2213:19 | Some(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2213:9:2213:19 | Some(...) | T | main.rs:2161:5:2161:22 | S3 | +| main.rs:2213:9:2213:19 | Some(...) | T | main.rs:2212:50:2212:64 | impl ... | +| main.rs:2213:9:2213:19 | Some(...) | T.T3 | main.rs:2212:24:2212:31 | T | +| main.rs:2213:9:2213:19 | Some(...) | T.impl(T) | main.rs:2212:24:2212:31 | T | +| main.rs:2213:14:2213:18 | S3(...) | | main.rs:2161:5:2161:22 | S3 | +| main.rs:2213:14:2213:18 | S3(...) | | main.rs:2212:50:2212:64 | impl ... | +| main.rs:2213:14:2213:18 | S3(...) | T3 | main.rs:2212:24:2212:31 | T | +| main.rs:2213:14:2213:18 | S3(...) | impl(T) | main.rs:2212:24:2212:31 | T | +| main.rs:2213:17:2213:17 | x | | main.rs:2212:24:2212:31 | T | +| main.rs:2216:34:2216:34 | x | | main.rs:2216:24:2216:31 | T | +| main.rs:2216:78:2218:5 | { ... } | | file://:0:0:0:0 | (T_2) | +| main.rs:2216:78:2218:5 | { ... } | 0(2) | main.rs:2216:44:2216:58 | impl ... | +| main.rs:2216:78:2218:5 | { ... } | 0(2).impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2216:78:2218:5 | { ... } | 1(2) | main.rs:2216:61:2216:75 | impl ... | +| main.rs:2216:78:2218:5 | { ... } | 1(2).impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2217:9:2217:30 | TupleExpr | | file://:0:0:0:0 | (T_2) | +| main.rs:2217:9:2217:30 | TupleExpr | 0(2) | main.rs:2161:5:2161:22 | S3 | +| main.rs:2217:9:2217:30 | TupleExpr | 0(2) | main.rs:2216:44:2216:58 | impl ... | +| main.rs:2217:9:2217:30 | TupleExpr | 0(2).T3 | main.rs:2216:24:2216:31 | T | +| main.rs:2217:9:2217:30 | TupleExpr | 0(2).impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2217:9:2217:30 | TupleExpr | 1(2) | main.rs:2161:5:2161:22 | S3 | +| main.rs:2217:9:2217:30 | TupleExpr | 1(2) | main.rs:2216:61:2216:75 | impl ... | +| main.rs:2217:9:2217:30 | TupleExpr | 1(2).T3 | main.rs:2216:24:2216:31 | T | +| main.rs:2217:9:2217:30 | TupleExpr | 1(2).impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2217:10:2217:22 | S3(...) | | main.rs:2161:5:2161:22 | S3 | +| main.rs:2217:10:2217:22 | S3(...) | | main.rs:2216:44:2216:58 | impl ... | +| main.rs:2217:10:2217:22 | S3(...) | T3 | main.rs:2216:24:2216:31 | T | +| main.rs:2217:10:2217:22 | S3(...) | impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2217:13:2217:13 | x | | main.rs:2216:24:2216:31 | T | +| main.rs:2217:13:2217:21 | x.clone() | | main.rs:2216:24:2216:31 | T | +| main.rs:2217:25:2217:29 | S3(...) | | main.rs:2161:5:2161:22 | S3 | +| main.rs:2217:25:2217:29 | S3(...) | | main.rs:2216:61:2216:75 | impl ... | +| main.rs:2217:25:2217:29 | S3(...) | T3 | main.rs:2216:24:2216:31 | T | +| main.rs:2217:25:2217:29 | S3(...) | impl(T) | main.rs:2216:24:2216:31 | T | +| main.rs:2217:28:2217:28 | x | | main.rs:2216:24:2216:31 | T | +| main.rs:2220:26:2220:26 | t | | main.rs:2220:29:2220:43 | impl ... | +| main.rs:2220:51:2222:5 | { ... } | | main.rs:2220:23:2220:23 | A | +| main.rs:2221:9:2221:9 | t | | main.rs:2220:29:2220:43 | impl ... | +| main.rs:2221:9:2221:17 | t.get_a() | | main.rs:2220:23:2220:23 | A | +| main.rs:2225:13:2225:13 | x | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2225:17:2225:20 | f1(...) | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2226:9:2226:9 | x | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2227:9:2227:9 | x | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2228:13:2228:13 | a | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2228:17:2228:32 | get_a_my_trait(...) | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2229:13:2229:13 | b | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2229:17:2229:33 | uses_my_trait1(...) | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2229:32:2229:32 | a | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2230:13:2230:13 | a | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2230:17:2230:32 | get_a_my_trait(...) | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2231:13:2231:13 | c | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2231:17:2231:33 | uses_my_trait2(...) | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2231:32:2231:32 | a | | main.rs:2200:28:2200:43 | impl ... | +| main.rs:2232:13:2232:13 | d | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2232:17:2232:34 | uses_my_trait2(...) | | main.rs:2160:5:2160:14 | S2 | +| main.rs:2232:32:2232:33 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2233:13:2233:13 | e | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2233:17:2233:35 | get_a_my_trait2(...) | | main.rs:2208:43:2208:57 | impl ... | +| main.rs:2233:17:2233:35 | get_a_my_trait2(...) | impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2233:17:2233:43 | ... .get_a() | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2233:33:2233:34 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2236:13:2236:13 | f | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2236:17:2236:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2236:17:2236:35 | get_a_my_trait3(...) | T | main.rs:2212:50:2212:64 | impl ... | +| main.rs:2236:17:2236:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2236:17:2236:44 | ... .unwrap() | | main.rs:2212:50:2212:64 | impl ... | +| main.rs:2236:17:2236:44 | ... .unwrap() | impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2236:17:2236:52 | ... .get_a() | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2236:33:2236:34 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:13:2237:13 | g | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:17:2237:35 | get_a_my_trait4(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2237:17:2237:35 | get_a_my_trait4(...) | 0(2) | main.rs:2216:44:2216:58 | impl ... | +| main.rs:2237:17:2237:35 | get_a_my_trait4(...) | 0(2).impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:17:2237:35 | get_a_my_trait4(...) | 1(2) | main.rs:2216:61:2216:75 | impl ... | +| main.rs:2237:17:2237:35 | get_a_my_trait4(...) | 1(2).impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:17:2237:37 | ... .0 | | main.rs:2216:44:2216:58 | impl ... | +| main.rs:2237:17:2237:37 | ... .0 | impl(T) | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:17:2237:45 | ... .get_a() | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2237:33:2237:34 | S1 | | main.rs:2158:5:2159:14 | S1 | +| main.rs:2248:16:2248:20 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2248:16:2248:20 | SelfParam | &T | main.rs:2244:5:2245:13 | S | +| main.rs:2248:31:2250:9 | { ... } | | main.rs:2244:5:2245:13 | S | +| main.rs:2249:13:2249:13 | S | | main.rs:2244:5:2245:13 | S | +| main.rs:2259:26:2261:9 | { ... } | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2259:26:2261:9 | { ... } | T | main.rs:2258:10:2258:10 | T | +| main.rs:2260:13:2260:38 | MyVec {...} | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2260:13:2260:38 | MyVec {...} | T | main.rs:2258:10:2258:10 | T | +| main.rs:2260:27:2260:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2260:27:2260:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2260:27:2260:36 | ...::new(...) | T | main.rs:2258:10:2258:10 | T | +| main.rs:2263:17:2263:25 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2263:17:2263:25 | SelfParam | &T | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2263:17:2263:25 | SelfParam | &T.T | main.rs:2258:10:2258:10 | T | +| main.rs:2263:28:2263:32 | value | | main.rs:2258:10:2258:10 | T | +| main.rs:2264:13:2264:16 | self | | file://:0:0:0:0 | & | +| main.rs:2264:13:2264:16 | self | &T | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2264:13:2264:16 | self | &T.T | main.rs:2258:10:2258:10 | T | +| main.rs:2264:13:2264:21 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2264:13:2264:21 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2264:13:2264:21 | self.data | T | main.rs:2258:10:2258:10 | T | +| main.rs:2264:28:2264:32 | value | | main.rs:2258:10:2258:10 | T | +| main.rs:2272:18:2272:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2272:18:2272:22 | SelfParam | &T | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2272:18:2272:22 | SelfParam | &T.T | main.rs:2268:10:2268:10 | T | +| main.rs:2272:25:2272:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2272:56:2274:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:2272:56:2274:9 | { ... } | &T | main.rs:2268:10:2268:10 | T | +| main.rs:2273:13:2273:29 | &... | | file://:0:0:0:0 | & | +| main.rs:2273:13:2273:29 | &... | &T | main.rs:2268:10:2268:10 | T | +| main.rs:2273:14:2273:17 | self | | file://:0:0:0:0 | & | +| main.rs:2273:14:2273:17 | self | &T | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2273:14:2273:17 | self | &T.T | main.rs:2268:10:2268:10 | T | +| main.rs:2273:14:2273:22 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2273:14:2273:22 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2273:14:2273:22 | self.data | T | main.rs:2268:10:2268:10 | T | +| main.rs:2273:14:2273:29 | ...[index] | | main.rs:2268:10:2268:10 | T | +| main.rs:2273:24:2273:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2277:22:2277:26 | slice | | file://:0:0:0:0 | & | +| main.rs:2277:22:2277:26 | slice | &T | file://:0:0:0:0 | [] | +| main.rs:2277:22:2277:26 | slice | &T.[T] | main.rs:2244:5:2245:13 | S | +| main.rs:2278:13:2278:13 | x | | main.rs:2244:5:2245:13 | S | +| main.rs:2278:17:2278:21 | slice | | file://:0:0:0:0 | & | +| main.rs:2278:17:2278:21 | slice | &T | file://:0:0:0:0 | [] | +| main.rs:2278:17:2278:21 | slice | &T.[T] | main.rs:2244:5:2245:13 | S | +| main.rs:2278:17:2278:24 | slice[0] | | main.rs:2244:5:2245:13 | S | +| main.rs:2278:17:2278:30 | ... .foo() | | main.rs:2244:5:2245:13 | S | +| main.rs:2278:23:2278:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2281:37:2281:37 | a | | main.rs:2281:20:2281:34 | T | +| main.rs:2281:43:2281:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2284:5:2286:5 | { ... } | | {EXTERNAL LOCATION} | Output | +| main.rs:2285:9:2285:9 | a | | main.rs:2281:20:2281:34 | T | +| main.rs:2285:9:2285:12 | a[b] | | {EXTERNAL LOCATION} | Output | +| main.rs:2285:11:2285:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2289:17:2289:19 | vec | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2289:17:2289:19 | vec | T | main.rs:2244:5:2245:13 | S | +| main.rs:2289:23:2289:34 | ...::new(...) | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2289:23:2289:34 | ...::new(...) | T | main.rs:2244:5:2245:13 | S | +| main.rs:2290:9:2290:11 | vec | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2290:9:2290:11 | vec | T | main.rs:2244:5:2245:13 | S | +| main.rs:2290:18:2290:18 | S | | main.rs:2244:5:2245:13 | S | +| main.rs:2291:9:2291:11 | vec | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2291:9:2291:11 | vec | T | main.rs:2244:5:2245:13 | S | +| main.rs:2291:9:2291:14 | vec[0] | | main.rs:2244:5:2245:13 | S | +| main.rs:2291:9:2291:20 | ... .foo() | | main.rs:2244:5:2245:13 | S | +| main.rs:2291:13:2291:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:13:2291:13 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2293:13:2293:14 | xs | | file://:0:0:0:0 | [] | +| main.rs:2293:13:2293:14 | xs | [T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2293:21:2293:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2293:26:2293:28 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2293:26:2293:28 | [...] | [T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2293:27:2293:27 | S | | main.rs:2244:5:2245:13 | S | +| main.rs:2294:13:2294:13 | x | | main.rs:2244:5:2245:13 | S | +| main.rs:2294:17:2294:18 | xs | | file://:0:0:0:0 | [] | +| main.rs:2294:17:2294:18 | xs | [T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2294:17:2294:21 | xs[0] | | main.rs:2244:5:2245:13 | S | +| main.rs:2294:17:2294:27 | ... .foo() | | main.rs:2244:5:2245:13 | S | +| main.rs:2294:20:2294:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2296:29:2296:31 | vec | | main.rs:2253:5:2256:5 | MyVec | +| main.rs:2296:29:2296:31 | vec | T | main.rs:2244:5:2245:13 | S | +| main.rs:2296:34:2296:34 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2296:34:2296:34 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2298:23:2298:25 | &xs | | file://:0:0:0:0 | & | +| main.rs:2298:23:2298:25 | &xs | &T | file://:0:0:0:0 | [] | +| main.rs:2298:23:2298:25 | &xs | &T | file://:0:0:0:0 | [] | +| main.rs:2298:23:2298:25 | &xs | &T.[T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2298:23:2298:25 | &xs | &T.[T] | main.rs:2244:5:2245:13 | S | +| main.rs:2298:24:2298:25 | xs | | file://:0:0:0:0 | [] | +| main.rs:2298:24:2298:25 | xs | [T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2304:13:2304:13 | x | | {EXTERNAL LOCATION} | String | +| main.rs:2304:17:2304:46 | MacroExpr | | {EXTERNAL LOCATION} | String | +| main.rs:2304:25:2304:35 | "Hello, {}" | | file://:0:0:0:0 | & | +| main.rs:2304:25:2304:35 | "Hello, {}" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2304:25:2304:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2304:25:2304:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2304:25:2304:45 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2304:25:2304:45 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2304:25:2304:45 | { ... } | | {EXTERNAL LOCATION} | String | +| main.rs:2304:38:2304:45 | "World!" | | file://:0:0:0:0 | & | +| main.rs:2304:38:2304:45 | "World!" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2313:19:2313:22 | SelfParam | | main.rs:2309:5:2314:5 | Self [trait MyAdd] | +| main.rs:2313:25:2313:27 | rhs | | main.rs:2309:17:2309:26 | Rhs | +| main.rs:2320:19:2320:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2320:25:2320:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2320:45:2322:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2321:13:2321:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:19:2329:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:25:2329:29 | value | | file://:0:0:0:0 | & | +| main.rs:2329:25:2329:29 | value | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:46:2331:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2330:13:2330:18 | * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2330:14:2330:18 | value | | file://:0:0:0:0 | & | +| main.rs:2330:14:2330:18 | value | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:19:2338:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2338:25:2338:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2338:46:2344:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2339:13:2343:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2339:13:2343:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2339:16:2339:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2339:22:2341:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2339:22:2341:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2340:17:2340:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2340:17:2340:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2341:20:2343:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2341:20:2343:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2342:17:2342:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2342:17:2342:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2353:19:2353:22 | SelfParam | | main.rs:2347:5:2347:19 | S | +| main.rs:2353:19:2353:22 | SelfParam | T | main.rs:2349:10:2349:17 | T | +| main.rs:2353:25:2353:29 | other | | main.rs:2347:5:2347:19 | S | +| main.rs:2353:25:2353:29 | other | T | main.rs:2349:10:2349:17 | T | +| main.rs:2353:54:2355:9 | { ... } | | main.rs:2347:5:2347:19 | S | +| main.rs:2353:54:2355:9 | { ... } | T | main.rs:2310:9:2310:20 | Output | +| main.rs:2354:13:2354:39 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2354:13:2354:39 | S(...) | T | main.rs:2310:9:2310:20 | Output | +| main.rs:2354:15:2354:22 | (...) | | main.rs:2349:10:2349:17 | T | +| main.rs:2354:15:2354:38 | ... .my_add(...) | | main.rs:2310:9:2310:20 | Output | +| main.rs:2354:16:2354:19 | self | | main.rs:2347:5:2347:19 | S | +| main.rs:2354:16:2354:19 | self | T | main.rs:2349:10:2349:17 | T | +| main.rs:2354:16:2354:21 | self.0 | | main.rs:2349:10:2349:17 | T | +| main.rs:2354:31:2354:35 | other | | main.rs:2347:5:2347:19 | S | +| main.rs:2354:31:2354:35 | other | T | main.rs:2349:10:2349:17 | T | +| main.rs:2354:31:2354:37 | other.0 | | main.rs:2349:10:2349:17 | T | +| main.rs:2362:19:2362:22 | SelfParam | | main.rs:2347:5:2347:19 | S | +| main.rs:2362:19:2362:22 | SelfParam | T | main.rs:2358:10:2358:17 | T | +| main.rs:2362:25:2362:29 | other | | main.rs:2358:10:2358:17 | T | +| main.rs:2362:51:2364:9 | { ... } | | main.rs:2347:5:2347:19 | S | +| main.rs:2362:51:2364:9 | { ... } | T | main.rs:2310:9:2310:20 | Output | +| main.rs:2363:13:2363:37 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2363:13:2363:37 | S(...) | T | main.rs:2310:9:2310:20 | Output | +| main.rs:2363:15:2363:22 | (...) | | main.rs:2358:10:2358:17 | T | +| main.rs:2363:15:2363:36 | ... .my_add(...) | | main.rs:2310:9:2310:20 | Output | +| main.rs:2363:16:2363:19 | self | | main.rs:2347:5:2347:19 | S | +| main.rs:2363:16:2363:19 | self | T | main.rs:2358:10:2358:17 | T | +| main.rs:2363:16:2363:21 | self.0 | | main.rs:2358:10:2358:17 | T | +| main.rs:2363:31:2363:35 | other | | main.rs:2358:10:2358:17 | T | +| main.rs:2374:19:2374:22 | SelfParam | | main.rs:2347:5:2347:19 | S | +| main.rs:2374:19:2374:22 | SelfParam | T | main.rs:2367:14:2367:14 | T | +| main.rs:2374:25:2374:29 | other | | file://:0:0:0:0 | & | +| main.rs:2374:25:2374:29 | other | &T | main.rs:2367:14:2367:14 | T | +| main.rs:2374:55:2376:9 | { ... } | | main.rs:2347:5:2347:19 | S | +| main.rs:2375:13:2375:37 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2375:15:2375:22 | (...) | | main.rs:2367:14:2367:14 | T | +| main.rs:2375:16:2375:19 | self | | main.rs:2347:5:2347:19 | S | +| main.rs:2375:16:2375:19 | self | T | main.rs:2367:14:2367:14 | T | +| main.rs:2375:16:2375:21 | self.0 | | main.rs:2367:14:2367:14 | T | +| main.rs:2375:31:2375:35 | other | | file://:0:0:0:0 | & | +| main.rs:2375:31:2375:35 | other | &T | main.rs:2367:14:2367:14 | T | +| main.rs:2381:20:2381:24 | value | | main.rs:2379:18:2379:18 | T | +| main.rs:2386:20:2386:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2386:40:2388:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2387:13:2387:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2393:20:2393:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2393:41:2399:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2394:13:2398:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2394:13:2398:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2394:16:2394:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2394:22:2396:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2394:22:2396:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2395:17:2395:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2395:17:2395:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2396:20:2398:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2396:20:2398:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2397:17:2397:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2397:17:2397:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2404:21:2404:25 | value | | main.rs:2402:19:2402:19 | T | +| main.rs:2404:31:2404:31 | x | | main.rs:2402:5:2405:5 | Self [trait MyFrom2] | +| main.rs:2409:21:2409:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2409:33:2409:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2409:48:2411:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2410:13:2410:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2416:21:2416:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2416:34:2416:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2416:49:2422:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2417:13:2421:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2417:16:2417:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2417:22:2419:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2418:17:2418:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2419:20:2421:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2420:17:2420:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2427:15:2427:15 | x | | main.rs:2425:5:2431:5 | Self [trait MySelfTrait] | +| main.rs:2430:15:2430:15 | x | | main.rs:2425:5:2431:5 | Self [trait MySelfTrait] | | main.rs:2435:15:2435:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2435:32:2437:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2435:31:2437:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2436:13:2436:13 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2436:13:2436:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:2436:17:2436:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2442:15:2442:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2442:31:2444:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2443:13:2443:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2443:13:2443:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2440:15:2440:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2440:32:2442:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2441:13:2441:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2441:13:2441:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2441:17:2441:17 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2447:15:2447:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2447:32:2449:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2448:13:2448:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2453:13:2453:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2453:22:2453:23 | 73 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2453:22:2453:23 | 73 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:9:2454:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:9:2454:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2454:18:2454:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2455:9:2455:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2455:9:2455:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2455:18:2455:22 | &5i64 | | file://:0:0:0:0 | & | -| main.rs:2455:18:2455:22 | &5i64 | &T | {EXTERNAL LOCATION} | i64 | -| main.rs:2455:19:2455:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2456:9:2456:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2456:9:2456:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2456:18:2456:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2458:9:2458:15 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2458:9:2458:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:9:2458:31 | ... .my_add(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2458:11:2458:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:24:2458:30 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2458:24:2458:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:26:2458:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2459:9:2459:15 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2459:9:2459:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2459:11:2459:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2459:24:2459:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2460:9:2460:15 | S(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2460:9:2460:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2460:9:2460:29 | ... .my_add(...) | | main.rs:2342:5:2342:19 | S | -| main.rs:2460:11:2460:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2460:24:2460:28 | &3i64 | | file://:0:0:0:0 | & | -| main.rs:2460:24:2460:28 | &3i64 | &T | {EXTERNAL LOCATION} | i64 | -| main.rs:2460:25:2460:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:13:2462:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:17:2462:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2462:30:2462:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:13:2463:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:17:2463:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2463:30:2463:33 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2464:13:2464:13 | z | | {EXTERNAL LOCATION} | i64 | -| main.rs:2464:22:2464:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2464:38:2464:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2465:9:2465:34 | ...::my_from2(...) | | file://:0:0:0:0 | () | -| main.rs:2465:23:2465:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2465:30:2465:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2466:9:2466:33 | ...::my_from2(...) | | file://:0:0:0:0 | () | -| main.rs:2466:23:2466:26 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2466:29:2466:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2467:9:2467:38 | ...::my_from2(...) | | file://:0:0:0:0 | () | -| main.rs:2467:27:2467:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2467:34:2467:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2469:9:2469:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2469:17:2469:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2470:9:2470:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2470:17:2470:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2471:9:2471:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2471:18:2471:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2472:9:2472:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2472:18:2472:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2473:9:2473:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2473:25:2473:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2474:9:2474:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2474:25:2474:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2475:9:2475:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2475:25:2475:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2476:9:2476:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2476:25:2476:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2484:26:2486:9 | { ... } | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2485:13:2485:25 | MyCallable {...} | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2488:17:2488:21 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2488:17:2488:21 | SelfParam | &T | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2488:31:2490:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2489:13:2489:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2489:13:2489:13 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2496:13:2496:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2496:18:2496:26 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2496:18:2496:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2496:19:2496:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2496:22:2496:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2496:25:2496:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2497:18:2497:26 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2497:18:2497:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2497:18:2497:41 | ... .map(...) | | file://:0:0:0:0 | [] | -| main.rs:2497:19:2497:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2497:22:2497:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2497:25:2497:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2497:32:2497:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | -| main.rs:2497:32:2497:40 | \|...\| ... | dyn(Args) | file://:0:0:0:0 | (T_1) | -| main.rs:2497:40:2497:40 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:13:2498:13 | i | | {EXTERNAL LOCATION} | Item | -| main.rs:2498:13:2498:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:18:2498:26 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2498:18:2498:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:18:2498:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | -| main.rs:2498:18:2498:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:19:2498:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:22:2498:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2498:25:2498:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2500:13:2500:17 | vals1 | | file://:0:0:0:0 | [] | -| main.rs:2500:13:2500:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2500:13:2500:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | -| main.rs:2500:21:2500:31 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2500:21:2500:31 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2500:21:2500:31 | [...] | [T;...] | {EXTERNAL LOCATION} | u8 | -| main.rs:2500:22:2500:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2500:27:2500:27 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2500:27:2500:27 | 2 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2500:30:2500:30 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2500:30:2500:30 | 3 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2501:13:2501:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2501:13:2501:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2501:18:2501:22 | vals1 | | file://:0:0:0:0 | [] | -| main.rs:2501:18:2501:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2501:18:2501:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | -| main.rs:2503:13:2503:17 | vals2 | | file://:0:0:0:0 | [] | -| main.rs:2503:13:2503:17 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | -| main.rs:2503:21:2503:29 | [1u16; 3] | | file://:0:0:0:0 | [] | -| main.rs:2503:21:2503:29 | [1u16; 3] | [T;...] | {EXTERNAL LOCATION} | u16 | -| main.rs:2503:22:2503:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2503:28:2503:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2504:13:2504:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2504:18:2504:22 | vals2 | | file://:0:0:0:0 | [] | -| main.rs:2504:18:2504:22 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | -| main.rs:2506:13:2506:17 | vals3 | | file://:0:0:0:0 | [] | -| main.rs:2506:13:2506:17 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | -| main.rs:2506:26:2506:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2506:31:2506:39 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2506:31:2506:39 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2506:31:2506:39 | [...] | [T;...] | {EXTERNAL LOCATION} | u32 | -| main.rs:2506:32:2506:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2506:32:2506:32 | 1 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2506:35:2506:35 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2506:35:2506:35 | 2 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2506:38:2506:38 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2506:38:2506:38 | 3 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2507:13:2507:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2507:18:2507:22 | vals3 | | file://:0:0:0:0 | [] | -| main.rs:2507:18:2507:22 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | -| main.rs:2509:13:2509:17 | vals4 | | file://:0:0:0:0 | [] | -| main.rs:2509:13:2509:17 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | -| main.rs:2509:26:2509:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2509:31:2509:36 | [1; 3] | | file://:0:0:0:0 | [] | -| main.rs:2509:31:2509:36 | [1; 3] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2509:31:2509:36 | [1; 3] | [T;...] | {EXTERNAL LOCATION} | u64 | -| main.rs:2509:32:2509:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2509:32:2509:32 | 1 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2509:35:2509:35 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2510:13:2510:13 | u | | {EXTERNAL LOCATION} | u64 | -| main.rs:2510:18:2510:22 | vals4 | | file://:0:0:0:0 | [] | -| main.rs:2510:18:2510:22 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | -| main.rs:2512:17:2512:24 | strings1 | | file://:0:0:0:0 | [] | -| main.rs:2512:17:2512:24 | strings1 | [T;...] | file://:0:0:0:0 | & | -| main.rs:2512:17:2512:24 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2512:28:2512:48 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2512:28:2512:48 | [...] | [T;...] | file://:0:0:0:0 | & | -| main.rs:2512:28:2512:48 | [...] | [T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2512:29:2512:33 | "foo" | | file://:0:0:0:0 | & | -| main.rs:2512:29:2512:33 | "foo" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2512:36:2512:40 | "bar" | | file://:0:0:0:0 | & | -| main.rs:2512:36:2512:40 | "bar" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2512:43:2512:47 | "baz" | | file://:0:0:0:0 | & | -| main.rs:2512:43:2512:47 | "baz" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2513:13:2513:13 | s | | {EXTERNAL LOCATION} | Item | -| main.rs:2513:13:2513:13 | s | | file://:0:0:0:0 | & | -| main.rs:2513:13:2513:13 | s | &T | file://:0:0:0:0 | & | -| main.rs:2513:13:2513:13 | s | &T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2513:18:2513:26 | &strings1 | | file://:0:0:0:0 | & | -| main.rs:2513:18:2513:26 | &strings1 | &T | file://:0:0:0:0 | [] | -| main.rs:2513:18:2513:26 | &strings1 | &T.[T;...] | file://:0:0:0:0 | & | -| main.rs:2513:18:2513:26 | &strings1 | &T.[T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2513:19:2513:26 | strings1 | | file://:0:0:0:0 | [] | -| main.rs:2513:19:2513:26 | strings1 | [T;...] | file://:0:0:0:0 | & | -| main.rs:2513:19:2513:26 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2514:13:2514:13 | s | | {EXTERNAL LOCATION} | Item | -| main.rs:2514:13:2514:13 | s | | file://:0:0:0:0 | & | -| main.rs:2514:13:2514:13 | s | &T | file://:0:0:0:0 | & | -| main.rs:2514:13:2514:13 | s | &T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2514:18:2514:30 | &mut strings1 | | file://:0:0:0:0 | & | -| main.rs:2514:18:2514:30 | &mut strings1 | &T | file://:0:0:0:0 | [] | -| main.rs:2514:18:2514:30 | &mut strings1 | &T.[T;...] | file://:0:0:0:0 | & | -| main.rs:2514:18:2514:30 | &mut strings1 | &T.[T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2514:23:2514:30 | strings1 | | file://:0:0:0:0 | [] | -| main.rs:2514:23:2514:30 | strings1 | [T;...] | file://:0:0:0:0 | & | -| main.rs:2514:23:2514:30 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2515:13:2515:13 | s | | file://:0:0:0:0 | & | -| main.rs:2515:13:2515:13 | s | &T | {EXTERNAL LOCATION} | str | -| main.rs:2515:18:2515:25 | strings1 | | file://:0:0:0:0 | [] | -| main.rs:2515:18:2515:25 | strings1 | [T;...] | file://:0:0:0:0 | & | -| main.rs:2515:18:2515:25 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | -| main.rs:2517:13:2517:20 | strings2 | | file://:0:0:0:0 | [] | -| main.rs:2517:13:2517:20 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2518:9:2522:9 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2518:9:2522:9 | [...] | [T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2519:13:2519:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2519:26:2519:30 | "foo" | | file://:0:0:0:0 | & | -| main.rs:2519:26:2519:30 | "foo" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2520:13:2520:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2520:26:2520:30 | "bar" | | file://:0:0:0:0 | & | -| main.rs:2520:26:2520:30 | "bar" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2521:13:2521:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2521:26:2521:30 | "baz" | | file://:0:0:0:0 | & | -| main.rs:2521:26:2521:30 | "baz" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2523:13:2523:13 | s | | {EXTERNAL LOCATION} | String | -| main.rs:2523:18:2523:25 | strings2 | | file://:0:0:0:0 | [] | -| main.rs:2523:18:2523:25 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2525:13:2525:20 | strings3 | | file://:0:0:0:0 | & | -| main.rs:2525:13:2525:20 | strings3 | &T | file://:0:0:0:0 | [] | -| main.rs:2525:13:2525:20 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2526:9:2530:9 | &... | | file://:0:0:0:0 | & | -| main.rs:2526:9:2530:9 | &... | &T | file://:0:0:0:0 | [] | -| main.rs:2526:9:2530:9 | &... | &T.[T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2526:10:2530:9 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2526:10:2530:9 | [...] | [T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2527:13:2527:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2527:26:2527:30 | "foo" | | file://:0:0:0:0 | & | -| main.rs:2527:26:2527:30 | "foo" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2528:13:2528:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2528:26:2528:30 | "bar" | | file://:0:0:0:0 | & | -| main.rs:2528:26:2528:30 | "bar" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2529:13:2529:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2529:26:2529:30 | "baz" | | file://:0:0:0:0 | & | -| main.rs:2529:26:2529:30 | "baz" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2531:13:2531:13 | s | | {EXTERNAL LOCATION} | Item | -| main.rs:2531:13:2531:13 | s | | file://:0:0:0:0 | & | -| main.rs:2531:13:2531:13 | s | &T | {EXTERNAL LOCATION} | String | -| main.rs:2531:18:2531:25 | strings3 | | file://:0:0:0:0 | & | -| main.rs:2531:18:2531:25 | strings3 | &T | file://:0:0:0:0 | [] | -| main.rs:2531:18:2531:25 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | -| main.rs:2533:13:2533:21 | callables | | file://:0:0:0:0 | [] | -| main.rs:2533:13:2533:21 | callables | [T;...] | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2533:25:2533:81 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2533:25:2533:81 | [...] | [T;...] | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2533:26:2533:42 | ...::new(...) | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2533:45:2533:61 | ...::new(...) | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2533:64:2533:80 | ...::new(...) | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2534:13:2534:13 | c | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2535:12:2535:20 | callables | | file://:0:0:0:0 | [] | -| main.rs:2535:12:2535:20 | callables | [T;...] | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2537:17:2537:22 | result | | {EXTERNAL LOCATION} | i64 | -| main.rs:2537:26:2537:26 | c | | main.rs:2481:5:2481:24 | MyCallable | -| main.rs:2537:26:2537:33 | c.call() | | {EXTERNAL LOCATION} | i64 | -| main.rs:2542:13:2542:13 | i | | {EXTERNAL LOCATION} | Item | -| main.rs:2542:13:2542:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2542:18:2542:18 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2542:18:2542:22 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2542:18:2542:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2542:21:2542:22 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:13:2543:13 | u | | {EXTERNAL LOCATION} | Range | -| main.rs:2543:13:2543:13 | u | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:13:2543:13 | u | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2543:18:2543:26 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2543:18:2543:26 | [...] | [T;...] | {EXTERNAL LOCATION} | Range | -| main.rs:2543:18:2543:26 | [...] | [T;...].Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:18:2543:26 | [...] | [T;...].Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2543:19:2543:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2543:19:2543:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2543:19:2543:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:19:2543:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2543:24:2543:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2543:24:2543:25 | 10 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2544:13:2544:17 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2544:13:2544:17 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2544:21:2544:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2544:21:2544:25 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2544:21:2544:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2544:24:2544:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2545:13:2545:13 | i | | {EXTERNAL LOCATION} | Item | -| main.rs:2545:13:2545:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2545:18:2545:22 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2545:18:2545:22 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2546:13:2546:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2546:26:2546:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2447:31:2449:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2448:13:2448:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2448:13:2448:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2452:15:2452:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2452:32:2454:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2453:13:2453:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2458:13:2458:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2458:22:2458:23 | 73 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2458:22:2458:23 | 73 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2459:9:2459:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2459:9:2459:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2459:18:2459:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2460:9:2460:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2460:9:2460:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2460:18:2460:22 | &5i64 | | file://:0:0:0:0 | & | +| main.rs:2460:18:2460:22 | &5i64 | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:2460:19:2460:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2461:9:2461:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2461:9:2461:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2461:18:2461:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2463:9:2463:15 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2463:9:2463:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2463:9:2463:31 | ... .my_add(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2463:11:2463:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2463:24:2463:30 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2463:24:2463:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2463:26:2463:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2464:9:2464:15 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2464:9:2464:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2464:11:2464:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2464:24:2464:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2465:9:2465:15 | S(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2465:9:2465:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2465:9:2465:29 | ... .my_add(...) | | main.rs:2347:5:2347:19 | S | +| main.rs:2465:11:2465:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2465:24:2465:28 | &3i64 | | file://:0:0:0:0 | & | +| main.rs:2465:24:2465:28 | &3i64 | &T | {EXTERNAL LOCATION} | i64 | +| main.rs:2465:25:2465:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2467:13:2467:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2467:17:2467:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2467:30:2467:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2468:13:2468:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2468:17:2468:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2468:30:2468:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2469:13:2469:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2469:22:2469:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2469:38:2469:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2470:9:2470:34 | ...::my_from2(...) | | file://:0:0:0:0 | () | +| main.rs:2470:23:2470:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2470:30:2470:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2471:9:2471:33 | ...::my_from2(...) | | file://:0:0:0:0 | () | +| main.rs:2471:23:2471:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2471:29:2471:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2472:9:2472:38 | ...::my_from2(...) | | file://:0:0:0:0 | () | +| main.rs:2472:27:2472:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2472:34:2472:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2474:9:2474:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2474:17:2474:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2475:9:2475:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2475:17:2475:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2476:9:2476:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2476:18:2476:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2477:9:2477:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2477:18:2477:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2478:9:2478:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2478:25:2478:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2479:9:2479:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2479:25:2479:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2480:9:2480:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2480:25:2480:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2481:9:2481:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2481:25:2481:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2489:26:2491:9 | { ... } | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2490:13:2490:25 | MyCallable {...} | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2493:17:2493:21 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2493:17:2493:21 | SelfParam | &T | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2493:31:2495:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2501:13:2501:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2501:18:2501:26 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2501:18:2501:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2501:19:2501:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2501:22:2501:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2501:25:2501:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:18:2502:26 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2502:18:2502:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:18:2502:41 | ... .map(...) | | file://:0:0:0:0 | [] | +| main.rs:2502:19:2502:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:22:2502:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:25:2502:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:32:2502:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | +| main.rs:2502:32:2502:40 | \|...\| ... | dyn(Args) | file://:0:0:0:0 | (T_1) | +| main.rs:2502:40:2502:40 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | Item | +| main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:18:2503:26 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2503:18:2503:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:18:2503:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | +| main.rs:2503:18:2503:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:19:2503:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:22:2503:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:25:2503:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2505:13:2505:17 | vals1 | | file://:0:0:0:0 | [] | +| main.rs:2505:13:2505:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2505:13:2505:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | +| main.rs:2505:21:2505:31 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2505:21:2505:31 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2505:21:2505:31 | [...] | [T;...] | {EXTERNAL LOCATION} | u8 | +| main.rs:2505:22:2505:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2505:27:2505:27 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2505:27:2505:27 | 2 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2505:30:2505:30 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2505:30:2505:30 | 3 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2506:13:2506:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2506:13:2506:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2506:18:2506:22 | vals1 | | file://:0:0:0:0 | [] | +| main.rs:2506:18:2506:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2506:18:2506:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | +| main.rs:2508:13:2508:17 | vals2 | | file://:0:0:0:0 | [] | +| main.rs:2508:13:2508:17 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2508:21:2508:29 | [1u16; 3] | | file://:0:0:0:0 | [] | +| main.rs:2508:21:2508:29 | [1u16; 3] | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2508:22:2508:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2508:28:2508:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2509:13:2509:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2509:18:2509:22 | vals2 | | file://:0:0:0:0 | [] | +| main.rs:2509:18:2509:22 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2511:13:2511:17 | vals3 | | file://:0:0:0:0 | [] | +| main.rs:2511:13:2511:17 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | +| main.rs:2511:26:2511:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2511:31:2511:39 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2511:31:2511:39 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2511:31:2511:39 | [...] | [T;...] | {EXTERNAL LOCATION} | u32 | +| main.rs:2511:32:2511:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2511:32:2511:32 | 1 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2511:35:2511:35 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2511:35:2511:35 | 2 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2511:38:2511:38 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2511:38:2511:38 | 3 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2512:13:2512:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2512:18:2512:22 | vals3 | | file://:0:0:0:0 | [] | +| main.rs:2512:18:2512:22 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | +| main.rs:2514:13:2514:17 | vals4 | | file://:0:0:0:0 | [] | +| main.rs:2514:13:2514:17 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | +| main.rs:2514:26:2514:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2514:31:2514:36 | [1; 3] | | file://:0:0:0:0 | [] | +| main.rs:2514:31:2514:36 | [1; 3] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2514:31:2514:36 | [1; 3] | [T;...] | {EXTERNAL LOCATION} | u64 | +| main.rs:2514:32:2514:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2514:32:2514:32 | 1 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2514:35:2514:35 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2515:13:2515:13 | u | | {EXTERNAL LOCATION} | u64 | +| main.rs:2515:18:2515:22 | vals4 | | file://:0:0:0:0 | [] | +| main.rs:2515:18:2515:22 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | +| main.rs:2517:17:2517:24 | strings1 | | file://:0:0:0:0 | [] | +| main.rs:2517:17:2517:24 | strings1 | [T;...] | file://:0:0:0:0 | & | +| main.rs:2517:17:2517:24 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2517:28:2517:48 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2517:28:2517:48 | [...] | [T;...] | file://:0:0:0:0 | & | +| main.rs:2517:28:2517:48 | [...] | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2517:29:2517:33 | "foo" | | file://:0:0:0:0 | & | +| main.rs:2517:29:2517:33 | "foo" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2517:36:2517:40 | "bar" | | file://:0:0:0:0 | & | +| main.rs:2517:36:2517:40 | "bar" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2517:43:2517:47 | "baz" | | file://:0:0:0:0 | & | +| main.rs:2517:43:2517:47 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2518:13:2518:13 | s | | {EXTERNAL LOCATION} | Item | +| main.rs:2518:13:2518:13 | s | | file://:0:0:0:0 | & | +| main.rs:2518:13:2518:13 | s | &T | file://:0:0:0:0 | & | +| main.rs:2518:13:2518:13 | s | &T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2518:18:2518:26 | &strings1 | | file://:0:0:0:0 | & | +| main.rs:2518:18:2518:26 | &strings1 | &T | file://:0:0:0:0 | [] | +| main.rs:2518:18:2518:26 | &strings1 | &T.[T;...] | file://:0:0:0:0 | & | +| main.rs:2518:18:2518:26 | &strings1 | &T.[T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2518:19:2518:26 | strings1 | | file://:0:0:0:0 | [] | +| main.rs:2518:19:2518:26 | strings1 | [T;...] | file://:0:0:0:0 | & | +| main.rs:2518:19:2518:26 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2519:13:2519:13 | s | | {EXTERNAL LOCATION} | Item | +| main.rs:2519:13:2519:13 | s | | file://:0:0:0:0 | & | +| main.rs:2519:13:2519:13 | s | &T | file://:0:0:0:0 | & | +| main.rs:2519:13:2519:13 | s | &T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2519:18:2519:30 | &mut strings1 | | file://:0:0:0:0 | & | +| main.rs:2519:18:2519:30 | &mut strings1 | &T | file://:0:0:0:0 | [] | +| main.rs:2519:18:2519:30 | &mut strings1 | &T.[T;...] | file://:0:0:0:0 | & | +| main.rs:2519:18:2519:30 | &mut strings1 | &T.[T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2519:23:2519:30 | strings1 | | file://:0:0:0:0 | [] | +| main.rs:2519:23:2519:30 | strings1 | [T;...] | file://:0:0:0:0 | & | +| main.rs:2519:23:2519:30 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2520:13:2520:13 | s | | file://:0:0:0:0 | & | +| main.rs:2520:13:2520:13 | s | &T | {EXTERNAL LOCATION} | str | +| main.rs:2520:18:2520:25 | strings1 | | file://:0:0:0:0 | [] | +| main.rs:2520:18:2520:25 | strings1 | [T;...] | file://:0:0:0:0 | & | +| main.rs:2520:18:2520:25 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2522:13:2522:20 | strings2 | | file://:0:0:0:0 | [] | +| main.rs:2522:13:2522:20 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2523:9:2527:9 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2523:9:2527:9 | [...] | [T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2524:13:2524:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2524:26:2524:30 | "foo" | | file://:0:0:0:0 | & | +| main.rs:2524:26:2524:30 | "foo" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2525:13:2525:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2525:26:2525:30 | "bar" | | file://:0:0:0:0 | & | +| main.rs:2525:26:2525:30 | "bar" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2526:13:2526:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2526:26:2526:30 | "baz" | | file://:0:0:0:0 | & | +| main.rs:2526:26:2526:30 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2528:13:2528:13 | s | | {EXTERNAL LOCATION} | String | +| main.rs:2528:18:2528:25 | strings2 | | file://:0:0:0:0 | [] | +| main.rs:2528:18:2528:25 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2530:13:2530:20 | strings3 | | file://:0:0:0:0 | & | +| main.rs:2530:13:2530:20 | strings3 | &T | file://:0:0:0:0 | [] | +| main.rs:2530:13:2530:20 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2531:9:2535:9 | &... | | file://:0:0:0:0 | & | +| main.rs:2531:9:2535:9 | &... | &T | file://:0:0:0:0 | [] | +| main.rs:2531:9:2535:9 | &... | &T.[T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2531:10:2535:9 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2531:10:2535:9 | [...] | [T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2532:13:2532:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2532:26:2532:30 | "foo" | | file://:0:0:0:0 | & | +| main.rs:2532:26:2532:30 | "foo" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2533:13:2533:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2533:26:2533:30 | "bar" | | file://:0:0:0:0 | & | +| main.rs:2533:26:2533:30 | "bar" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2534:13:2534:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2534:26:2534:30 | "baz" | | file://:0:0:0:0 | & | +| main.rs:2534:26:2534:30 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2536:13:2536:13 | s | | {EXTERNAL LOCATION} | Item | +| main.rs:2536:13:2536:13 | s | | file://:0:0:0:0 | & | +| main.rs:2536:13:2536:13 | s | &T | {EXTERNAL LOCATION} | String | +| main.rs:2536:18:2536:25 | strings3 | | file://:0:0:0:0 | & | +| main.rs:2536:18:2536:25 | strings3 | &T | file://:0:0:0:0 | [] | +| main.rs:2536:18:2536:25 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2538:13:2538:21 | callables | | file://:0:0:0:0 | [] | +| main.rs:2538:13:2538:21 | callables | [T;...] | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2538:25:2538:81 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2538:25:2538:81 | [...] | [T;...] | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2538:26:2538:42 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2538:45:2538:61 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2538:64:2538:80 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2539:13:2539:13 | c | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2540:12:2540:20 | callables | | file://:0:0:0:0 | [] | +| main.rs:2540:12:2540:20 | callables | [T;...] | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2542:17:2542:22 | result | | {EXTERNAL LOCATION} | i64 | +| main.rs:2542:26:2542:26 | c | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2542:26:2542:33 | c.call() | | {EXTERNAL LOCATION} | i64 | | main.rs:2547:13:2547:13 | i | | {EXTERNAL LOCATION} | Item | -| main.rs:2547:18:2547:48 | &... | | file://:0:0:0:0 | & | -| main.rs:2547:19:2547:36 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2547:19:2547:36 | [...] | [T;...] | {EXTERNAL LOCATION} | i64 | -| main.rs:2547:20:2547:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2547:26:2547:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2547:32:2547:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2547:38:2547:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2549:13:2549:18 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2549:13:2549:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2550:9:2553:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | -| main.rs:2550:9:2553:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2551:20:2551:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2552:18:2552:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2554:13:2554:13 | u | | {EXTERNAL LOCATION} | Item | -| main.rs:2554:13:2554:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2554:18:2554:23 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2554:18:2554:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2558:26:2558:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2558:29:2558:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2558:32:2558:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:13:2561:18 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2561:13:2561:18 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2561:13:2561:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2561:32:2561:43 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2561:32:2561:43 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:32:2561:43 | [...] | [T;...] | {EXTERNAL LOCATION} | u16 | -| main.rs:2561:32:2561:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2561:32:2561:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2561:32:2561:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2561:33:2561:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2561:39:2561:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:42:2561:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2562:13:2562:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2562:13:2562:13 | u | | file://:0:0:0:0 | & | -| main.rs:2562:18:2562:23 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2562:18:2562:23 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2562:18:2562:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2564:22:2564:33 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2564:22:2564:33 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2564:22:2564:33 | [...] | [T;...] | {EXTERNAL LOCATION} | u16 | -| main.rs:2564:23:2564:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2564:29:2564:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2564:32:2564:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:13:2567:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2567:13:2567:17 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2567:13:2567:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:13:2567:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2567:21:2567:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2567:21:2567:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2567:21:2567:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:21:2567:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2567:31:2567:42 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2567:31:2567:42 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:31:2567:42 | [...] | [T;...] | {EXTERNAL LOCATION} | u32 | -| main.rs:2567:32:2567:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2567:38:2567:38 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:41:2567:41 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2568:13:2568:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2568:13:2568:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2568:13:2568:13 | u | | file://:0:0:0:0 | & | -| main.rs:2568:18:2568:22 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2568:18:2568:22 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2568:18:2568:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2568:18:2568:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2570:13:2570:17 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2570:13:2570:17 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2570:13:2570:17 | vals6 | T | file://:0:0:0:0 | & | -| main.rs:2570:13:2570:17 | vals6 | T.&T | {EXTERNAL LOCATION} | u64 | -| main.rs:2570:32:2570:43 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2570:32:2570:43 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2570:32:2570:43 | [...] | [T;...] | {EXTERNAL LOCATION} | u64 | -| main.rs:2570:32:2570:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2570:32:2570:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2570:32:2570:60 | ... .collect() | T | file://:0:0:0:0 | & | -| main.rs:2570:32:2570:60 | ... .collect() | T.&T | {EXTERNAL LOCATION} | u64 | -| main.rs:2570:33:2570:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2570:39:2570:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2570:42:2570:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2571:13:2571:13 | u | | file://:0:0:0:0 | & | -| main.rs:2571:13:2571:13 | u | &T | {EXTERNAL LOCATION} | u64 | -| main.rs:2571:18:2571:22 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2571:18:2571:22 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2571:18:2571:22 | vals6 | T | file://:0:0:0:0 | & | -| main.rs:2571:18:2571:22 | vals6 | T.&T | {EXTERNAL LOCATION} | u64 | -| main.rs:2573:17:2573:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2573:17:2573:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2573:17:2573:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2573:25:2573:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2573:25:2573:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2573:25:2573:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2574:9:2574:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2574:9:2574:13 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2574:9:2574:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2574:20:2574:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2575:13:2575:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2575:13:2575:13 | u | | file://:0:0:0:0 | & | -| main.rs:2575:18:2575:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2575:18:2575:22 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2575:18:2575:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2577:33:2577:33 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2577:36:2577:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2577:45:2577:45 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2577:48:2577:48 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:17:2584:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2584:17:2584:20 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:17:2584:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2584:17:2584:20 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2584:17:2584:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2584:17:2584:20 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2584:17:2584:20 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2584:24:2584:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2584:24:2584:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:24:2584:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2584:24:2584:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | -| main.rs:2584:24:2584:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2584:24:2584:55 | ...::new(...) | V.T | file://:0:0:0:0 | & | -| main.rs:2584:24:2584:55 | ...::new(...) | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2585:9:2585:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2585:9:2585:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2585:9:2585:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2585:9:2585:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2585:9:2585:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2585:9:2585:12 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2585:9:2585:12 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2585:9:2585:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2585:9:2585:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2585:9:2585:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2585:9:2585:39 | map1.insert(...) | T.T | file://:0:0:0:0 | & | -| main.rs:2585:9:2585:39 | map1.insert(...) | T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2585:21:2585:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2585:24:2585:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2585:24:2585:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2585:24:2585:38 | ...::new(...) | T | file://:0:0:0:0 | & | -| main.rs:2585:24:2585:38 | ...::new(...) | T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2585:33:2585:37 | "one" | | file://:0:0:0:0 | & | -| main.rs:2585:33:2585:37 | "one" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2586:9:2586:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2586:9:2586:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2586:9:2586:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2586:9:2586:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2586:9:2586:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2586:9:2586:12 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2586:9:2586:12 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2586:9:2586:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2586:9:2586:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2586:9:2586:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2586:9:2586:39 | map1.insert(...) | T.T | file://:0:0:0:0 | & | -| main.rs:2586:9:2586:39 | map1.insert(...) | T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2586:21:2586:21 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2586:24:2586:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2586:24:2586:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2586:24:2586:38 | ...::new(...) | T | file://:0:0:0:0 | & | -| main.rs:2586:24:2586:38 | ...::new(...) | T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2586:33:2586:37 | "two" | | file://:0:0:0:0 | & | -| main.rs:2586:33:2586:37 | "two" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2587:13:2587:15 | key | | {EXTERNAL LOCATION} | Item | -| main.rs:2587:13:2587:15 | key | | file://:0:0:0:0 | & | -| main.rs:2587:13:2587:15 | key | &T | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:20:2587:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2587:20:2587:23 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:20:2587:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2587:20:2587:23 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2587:20:2587:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2587:20:2587:23 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2587:20:2587:23 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2587:20:2587:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | -| main.rs:2587:20:2587:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:20:2587:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2587:20:2587:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2587:20:2587:30 | map1.keys() | V.T | file://:0:0:0:0 | & | -| main.rs:2587:20:2587:30 | map1.keys() | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2588:13:2588:17 | value | | {EXTERNAL LOCATION} | Item | -| main.rs:2588:13:2588:17 | value | | file://:0:0:0:0 | & | -| main.rs:2588:13:2588:17 | value | &T | {EXTERNAL LOCATION} | Box | -| main.rs:2588:13:2588:17 | value | &T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2588:13:2588:17 | value | &T.T | file://:0:0:0:0 | & | -| main.rs:2588:13:2588:17 | value | &T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2588:22:2588:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2588:22:2588:25 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2588:22:2588:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2588:22:2588:25 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2588:22:2588:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2588:22:2588:25 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2588:22:2588:25 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2588:22:2588:34 | map1.values() | | {EXTERNAL LOCATION} | Values | -| main.rs:2588:22:2588:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2588:22:2588:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2588:22:2588:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2588:22:2588:34 | map1.values() | V.T | file://:0:0:0:0 | & | -| main.rs:2588:22:2588:34 | map1.values() | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2589:13:2589:24 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2589:13:2589:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | -| main.rs:2589:13:2589:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | -| main.rs:2589:13:2589:24 | TuplePat | 1(2) | file://:0:0:0:0 | & | -| main.rs:2589:13:2589:24 | TuplePat | 1(2).&T | {EXTERNAL LOCATION} | Box | -| main.rs:2589:13:2589:24 | TuplePat | 1(2).&T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:13:2589:24 | TuplePat | 1(2).&T.T | file://:0:0:0:0 | & | -| main.rs:2589:13:2589:24 | TuplePat | 1(2).&T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2589:14:2589:16 | key | | file://:0:0:0:0 | & | -| main.rs:2589:14:2589:16 | key | &T | {EXTERNAL LOCATION} | i32 | -| main.rs:2589:19:2589:23 | value | | file://:0:0:0:0 | & | -| main.rs:2589:19:2589:23 | value | &T | {EXTERNAL LOCATION} | Box | -| main.rs:2589:19:2589:23 | value | &T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:19:2589:23 | value | &T.T | file://:0:0:0:0 | & | -| main.rs:2589:19:2589:23 | value | &T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2589:29:2589:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2589:29:2589:32 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2589:29:2589:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2589:29:2589:32 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2589:29:2589:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:29:2589:32 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2589:29:2589:32 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2589:29:2589:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | -| main.rs:2589:29:2589:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2589:29:2589:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2589:29:2589:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:29:2589:39 | map1.iter() | V.T | file://:0:0:0:0 | & | -| main.rs:2589:29:2589:39 | map1.iter() | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2590:13:2590:24 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2590:13:2590:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | -| main.rs:2590:13:2590:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | -| main.rs:2590:13:2590:24 | TuplePat | 1(2) | file://:0:0:0:0 | & | -| main.rs:2590:13:2590:24 | TuplePat | 1(2).&T | {EXTERNAL LOCATION} | Box | -| main.rs:2590:13:2590:24 | TuplePat | 1(2).&T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2590:13:2590:24 | TuplePat | 1(2).&T.T | file://:0:0:0:0 | & | -| main.rs:2590:13:2590:24 | TuplePat | 1(2).&T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2590:14:2590:16 | key | | file://:0:0:0:0 | & | -| main.rs:2590:14:2590:16 | key | &T | {EXTERNAL LOCATION} | i32 | -| main.rs:2590:19:2590:23 | value | | file://:0:0:0:0 | & | -| main.rs:2590:19:2590:23 | value | &T | {EXTERNAL LOCATION} | Box | -| main.rs:2590:19:2590:23 | value | &T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2590:19:2590:23 | value | &T.T | file://:0:0:0:0 | & | -| main.rs:2590:19:2590:23 | value | &T.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2590:29:2590:33 | &map1 | | file://:0:0:0:0 | & | -| main.rs:2590:29:2590:33 | &map1 | &T | {EXTERNAL LOCATION} | HashMap | -| main.rs:2590:29:2590:33 | &map1 | &T.K | {EXTERNAL LOCATION} | i32 | -| main.rs:2590:29:2590:33 | &map1 | &T.S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2590:29:2590:33 | &map1 | &T.V | {EXTERNAL LOCATION} | Box | -| main.rs:2590:29:2590:33 | &map1 | &T.V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2590:29:2590:33 | &map1 | &T.V.T | file://:0:0:0:0 | & | -| main.rs:2590:29:2590:33 | &map1 | &T.V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2590:30:2590:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2590:30:2590:33 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2590:30:2590:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2590:30:2590:33 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2590:30:2590:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2590:30:2590:33 | map1 | V.T | file://:0:0:0:0 | & | -| main.rs:2590:30:2590:33 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | -| main.rs:2594:17:2594:17 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2594:26:2594:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2594:26:2594:26 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:23:2596:23 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2596:23:2596:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2596:27:2596:28 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2596:27:2596:28 | 10 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:13:2598:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2598:13:2598:18 | ... += ... | | file://:0:0:0:0 | () | -| main.rs:2598:18:2598:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2610:40:2612:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2610:40:2612:9 | { ... } | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2610:40:2612:9 | { ... } | T.T | main.rs:2609:10:2609:19 | T | -| main.rs:2611:13:2611:16 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:2611:13:2611:16 | None | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2611:13:2611:16 | None | T.T | main.rs:2609:10:2609:19 | T | -| main.rs:2614:30:2616:9 | { ... } | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2614:30:2616:9 | { ... } | T | main.rs:2609:10:2609:19 | T | -| main.rs:2615:13:2615:28 | S1(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2615:13:2615:28 | S1(...) | T | main.rs:2609:10:2609:19 | T | -| main.rs:2615:16:2615:27 | ...::default(...) | | main.rs:2609:10:2609:19 | T | -| main.rs:2618:19:2618:22 | SelfParam | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2618:19:2618:22 | SelfParam | T | main.rs:2609:10:2609:19 | T | -| main.rs:2618:33:2620:9 | { ... } | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2618:33:2620:9 | { ... } | T | main.rs:2609:10:2609:19 | T | -| main.rs:2619:13:2619:16 | self | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2619:13:2619:16 | self | T | main.rs:2609:10:2609:19 | T | -| main.rs:2631:15:2631:15 | x | | main.rs:2631:12:2631:12 | T | -| main.rs:2631:26:2633:5 | { ... } | | main.rs:2631:12:2631:12 | T | -| main.rs:2632:9:2632:9 | x | | main.rs:2631:12:2631:12 | T | -| main.rs:2636:13:2636:14 | x1 | | {EXTERNAL LOCATION} | Option | -| main.rs:2636:13:2636:14 | x1 | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2636:13:2636:14 | x1 | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2636:34:2636:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2636:34:2636:48 | ...::assoc_fun(...) | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2636:34:2636:48 | ...::assoc_fun(...) | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2637:13:2637:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2637:13:2637:14 | x2 | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2637:13:2637:14 | x2 | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2637:18:2637:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2637:18:2637:38 | ...::assoc_fun(...) | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2637:18:2637:38 | ...::assoc_fun(...) | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2638:13:2638:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2638:13:2638:14 | x3 | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2638:13:2638:14 | x3 | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2638:18:2638:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2638:18:2638:32 | ...::assoc_fun(...) | T | main.rs:2604:5:2604:20 | S1 | -| main.rs:2638:18:2638:32 | ...::assoc_fun(...) | T.T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2639:13:2639:14 | x4 | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2639:13:2639:14 | x4 | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2639:18:2639:48 | ...::method(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2639:18:2639:48 | ...::method(...) | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2639:35:2639:47 | ...::default(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2639:35:2639:47 | ...::default(...) | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2640:13:2640:14 | x5 | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2640:13:2640:14 | x5 | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2640:18:2640:42 | ...::method(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2640:18:2640:42 | ...::method(...) | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2640:29:2640:41 | ...::default(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2640:29:2640:41 | ...::default(...) | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2641:13:2641:14 | x6 | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2641:13:2641:14 | x6 | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2641:18:2641:45 | S4::<...>(...) | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2641:18:2641:45 | S4::<...>(...) | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2641:27:2641:44 | ...::default(...) | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2642:13:2642:14 | x7 | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2642:13:2642:14 | x7 | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2642:18:2642:23 | S4(...) | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2642:18:2642:23 | S4(...) | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2642:21:2642:22 | S2 | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2643:13:2643:14 | x8 | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2643:13:2643:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2643:18:2643:22 | S4(...) | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2643:18:2643:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2643:21:2643:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2644:13:2644:14 | x9 | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2644:13:2644:14 | x9 | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2644:18:2644:34 | S4(...) | | main.rs:2625:5:2625:27 | S4 | -| main.rs:2644:18:2644:34 | S4(...) | T4 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2644:21:2644:33 | ...::default(...) | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2645:13:2645:15 | x10 | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2645:13:2645:15 | x10 | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2645:19:2648:9 | S5::<...> {...} | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2645:19:2648:9 | S5::<...> {...} | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2647:20:2647:37 | ...::default(...) | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2649:13:2649:15 | x11 | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2649:13:2649:15 | x11 | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2649:19:2649:34 | S5 {...} | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2649:19:2649:34 | S5 {...} | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2649:31:2649:32 | S2 | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2650:13:2650:15 | x12 | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2650:13:2650:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2650:19:2650:33 | S5 {...} | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2650:19:2650:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2650:31:2650:31 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2651:13:2651:15 | x13 | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2651:13:2651:15 | x13 | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2651:19:2654:9 | S5 {...} | | main.rs:2627:5:2629:5 | S5 | -| main.rs:2651:19:2654:9 | S5 {...} | T5 | main.rs:2606:5:2607:14 | S2 | -| main.rs:2653:20:2653:32 | ...::default(...) | | main.rs:2606:5:2607:14 | S2 | -| main.rs:2655:13:2655:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2655:19:2655:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2655:30:2655:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2656:13:2656:15 | x15 | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2656:13:2656:15 | x15 | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2656:19:2656:37 | ...::default(...) | | main.rs:2604:5:2604:20 | S1 | -| main.rs:2656:19:2656:37 | ...::default(...) | T | main.rs:2606:5:2607:14 | S2 | -| main.rs:2665:35:2667:9 | { ... } | | file://:0:0:0:0 | (T_2) | -| main.rs:2665:35:2667:9 | { ... } | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2665:35:2667:9 | { ... } | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2666:13:2666:26 | TupleExpr | | file://:0:0:0:0 | (T_2) | -| main.rs:2666:13:2666:26 | TupleExpr | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2666:13:2666:26 | TupleExpr | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2666:14:2666:18 | S1 {...} | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2666:21:2666:25 | S1 {...} | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2668:16:2668:19 | SelfParam | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2672:13:2672:13 | a | | file://:0:0:0:0 | (T_2) | -| main.rs:2672:13:2672:13 | a | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2672:13:2672:13 | a | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2672:17:2672:30 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2672:17:2672:30 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2672:17:2672:30 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2673:17:2673:17 | b | | file://:0:0:0:0 | (T_2) | -| main.rs:2673:17:2673:17 | b | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2673:17:2673:17 | b | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2673:21:2673:34 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2673:21:2673:34 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2673:21:2673:34 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:13:2674:18 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2674:13:2674:18 | TuplePat | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:13:2674:18 | TuplePat | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:14:2674:14 | c | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:17:2674:17 | d | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:22:2674:35 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2674:22:2674:35 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2674:22:2674:35 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:13:2675:22 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2675:13:2675:22 | TuplePat | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:13:2675:22 | TuplePat | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:18:2675:18 | e | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:21:2675:21 | f | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:26:2675:39 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2675:26:2675:39 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2675:26:2675:39 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:13:2676:26 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2676:13:2676:26 | TuplePat | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:13:2676:26 | TuplePat | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:18:2676:18 | g | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:25:2676:25 | h | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:30:2676:43 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2676:30:2676:43 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2676:30:2676:43 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2678:9:2678:9 | a | | file://:0:0:0:0 | (T_2) | -| main.rs:2678:9:2678:9 | a | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2678:9:2678:9 | a | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2678:9:2678:11 | a.0 | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2679:9:2679:9 | b | | file://:0:0:0:0 | (T_2) | -| main.rs:2679:9:2679:9 | b | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2679:9:2679:9 | b | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2679:9:2679:11 | b.1 | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2680:9:2680:9 | c | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2681:9:2681:9 | d | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2682:9:2682:9 | e | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2683:9:2683:9 | f | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2684:9:2684:9 | g | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2685:9:2685:9 | h | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2690:13:2690:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2690:17:2690:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2691:13:2691:13 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2691:17:2691:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2692:13:2692:16 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2692:13:2692:16 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | -| main.rs:2692:13:2692:16 | pair | 1(2) | {EXTERNAL LOCATION} | bool | -| main.rs:2692:20:2692:25 | TupleExpr | | file://:0:0:0:0 | (T_2) | -| main.rs:2692:20:2692:25 | TupleExpr | 0(2) | {EXTERNAL LOCATION} | i64 | -| main.rs:2692:20:2692:25 | TupleExpr | 1(2) | {EXTERNAL LOCATION} | bool | -| main.rs:2692:21:2692:21 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2692:24:2692:24 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2693:13:2693:13 | i | | {EXTERNAL LOCATION} | i64 | -| main.rs:2693:22:2693:25 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2693:22:2693:25 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | -| main.rs:2693:22:2693:25 | pair | 1(2) | {EXTERNAL LOCATION} | bool | -| main.rs:2693:22:2693:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2694:13:2694:13 | j | | {EXTERNAL LOCATION} | bool | -| main.rs:2694:23:2694:26 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2694:23:2694:26 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | -| main.rs:2694:23:2694:26 | pair | 1(2) | {EXTERNAL LOCATION} | bool | -| main.rs:2694:23:2694:28 | pair.1 | | {EXTERNAL LOCATION} | bool | -| main.rs:2696:13:2696:16 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2696:13:2696:16 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:13:2696:16 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:20:2696:25 | [...] | | file://:0:0:0:0 | [] | -| main.rs:2696:20:2696:25 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:20:2696:32 | ... .into() | | file://:0:0:0:0 | (T_2) | -| main.rs:2696:20:2696:32 | ... .into() | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:20:2696:32 | ... .into() | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:21:2696:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:24:2696:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2697:15:2697:18 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2697:15:2697:18 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2697:15:2697:18 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:13:2698:18 | TuplePat | | file://:0:0:0:0 | (T_2) | -| main.rs:2698:13:2698:18 | TuplePat | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:13:2698:18 | TuplePat | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:14:2698:14 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:17:2698:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:30:2698:41 | "unexpected" | | file://:0:0:0:0 | & | -| main.rs:2698:30:2698:41 | "unexpected" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2698:30:2698:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2698:30:2698:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2699:13:2699:13 | _ | | file://:0:0:0:0 | (T_2) | -| main.rs:2699:13:2699:13 | _ | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2699:13:2699:13 | _ | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2699:25:2699:34 | "expected" | | file://:0:0:0:0 | & | -| main.rs:2699:25:2699:34 | "expected" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2699:25:2699:34 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2699:25:2699:34 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2701:13:2701:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2701:17:2701:20 | pair | | file://:0:0:0:0 | (T_2) | -| main.rs:2701:17:2701:20 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2701:17:2701:20 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | -| main.rs:2701:17:2701:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2703:13:2703:13 | y | | file://:0:0:0:0 | & | -| main.rs:2703:13:2703:13 | y | &T | file://:0:0:0:0 | (T_2) | -| main.rs:2703:13:2703:13 | y | &T.0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2703:13:2703:13 | y | &T.1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2703:17:2703:31 | &... | | file://:0:0:0:0 | & | -| main.rs:2703:17:2703:31 | &... | &T | file://:0:0:0:0 | (T_2) | -| main.rs:2703:17:2703:31 | &... | &T.0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2703:17:2703:31 | &... | &T.1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2703:18:2703:31 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | -| main.rs:2703:18:2703:31 | ...::get_pair(...) | 0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2703:18:2703:31 | ...::get_pair(...) | 1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2704:9:2704:9 | y | | file://:0:0:0:0 | & | -| main.rs:2704:9:2704:9 | y | &T | file://:0:0:0:0 | (T_2) | -| main.rs:2704:9:2704:9 | y | &T.0(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2704:9:2704:9 | y | &T.1(2) | main.rs:2661:5:2662:16 | S1 | -| main.rs:2704:9:2704:11 | y.0 | | main.rs:2661:5:2662:16 | S1 | -| main.rs:2711:13:2711:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2711:13:2711:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2711:13:2711:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2711:27:2711:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2711:27:2711:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2711:27:2711:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2711:36:2711:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2714:15:2714:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2714:15:2714:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2714:15:2714:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2715:13:2715:19 | box 100 | | {EXTERNAL LOCATION} | Box | -| main.rs:2715:13:2715:19 | box 100 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2715:13:2715:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2715:17:2715:19 | 100 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2716:26:2716:36 | "Boxed 100\\n" | | file://:0:0:0:0 | & | -| main.rs:2716:26:2716:36 | "Boxed 100\\n" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2716:26:2716:36 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2716:26:2716:36 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2718:13:2718:17 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2718:13:2718:17 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2718:13:2718:17 | box ... | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2720:26:2720:42 | "Boxed value: {}\\n" | | file://:0:0:0:0 | & | -| main.rs:2720:26:2720:42 | "Boxed value: {}\\n" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2720:26:2720:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2720:26:2720:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2725:13:2725:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2725:13:2725:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2725:13:2725:22 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2725:13:2725:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2725:13:2725:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2725:26:2725:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2725:26:2725:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2725:26:2725:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2725:26:2725:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2725:26:2725:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2725:35:2725:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2725:35:2725:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2725:35:2725:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2725:44:2725:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2726:15:2726:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2726:15:2726:24 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2726:15:2726:24 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2726:15:2726:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2726:15:2726:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2727:13:2727:21 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2727:13:2727:21 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2727:13:2727:21 | box ... | T | {EXTERNAL LOCATION} | Box | -| main.rs:2727:13:2727:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2727:13:2727:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2729:26:2729:43 | "Nested boxed: {}\\n" | | file://:0:0:0:0 | & | -| main.rs:2729:26:2729:43 | "Nested boxed: {}\\n" | &T | {EXTERNAL LOCATION} | str | -| main.rs:2729:26:2729:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2729:26:2729:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | -| main.rs:2741:36:2743:9 | { ... } | | main.rs:2738:5:2738:22 | Path | -| main.rs:2742:13:2742:19 | Path {...} | | main.rs:2738:5:2738:22 | Path | -| main.rs:2745:29:2745:33 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2745:29:2745:33 | SelfParam | &T | main.rs:2738:5:2738:22 | Path | -| main.rs:2745:59:2747:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2745:59:2747:9 | { ... } | E | file://:0:0:0:0 | () | -| main.rs:2745:59:2747:9 | { ... } | T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2746:13:2746:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2746:13:2746:30 | Ok(...) | E | file://:0:0:0:0 | () | -| main.rs:2746:13:2746:30 | Ok(...) | T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2746:16:2746:29 | ...::new(...) | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2753:39:2755:9 | { ... } | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2754:13:2754:22 | PathBuf {...} | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2763:18:2763:22 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2763:18:2763:22 | SelfParam | &T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2763:34:2767:9 | { ... } | | file://:0:0:0:0 | & | -| main.rs:2763:34:2767:9 | { ... } | &T | main.rs:2738:5:2738:22 | Path | -| main.rs:2765:33:2765:43 | ...::new(...) | | main.rs:2738:5:2738:22 | Path | -| main.rs:2766:13:2766:17 | &path | | file://:0:0:0:0 | & | -| main.rs:2766:13:2766:17 | &path | &T | main.rs:2738:5:2738:22 | Path | -| main.rs:2766:14:2766:17 | path | | main.rs:2738:5:2738:22 | Path | -| main.rs:2771:13:2771:17 | path1 | | main.rs:2738:5:2738:22 | Path | -| main.rs:2771:21:2771:31 | ...::new(...) | | main.rs:2738:5:2738:22 | Path | -| main.rs:2772:13:2772:17 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2772:13:2772:17 | path2 | E | file://:0:0:0:0 | () | -| main.rs:2772:13:2772:17 | path2 | T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2772:21:2772:25 | path1 | | main.rs:2738:5:2738:22 | Path | -| main.rs:2772:21:2772:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | -| main.rs:2772:21:2772:40 | path1.canonicalize() | E | file://:0:0:0:0 | () | -| main.rs:2772:21:2772:40 | path1.canonicalize() | T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2773:13:2773:17 | path3 | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2773:21:2773:25 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2773:21:2773:25 | path2 | E | file://:0:0:0:0 | () | -| main.rs:2773:21:2773:25 | path2 | T | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2773:21:2773:34 | path2.unwrap() | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2775:13:2775:20 | pathbuf1 | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2775:24:2775:37 | ...::new(...) | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2776:24:2776:31 | pathbuf1 | | main.rs:2750:5:2750:25 | PathBuf | -| main.rs:2783:14:2783:18 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2783:14:2783:18 | SelfParam | &T | main.rs:2782:5:2784:5 | Self [trait MyTrait] | -| main.rs:2790:14:2790:18 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2790:14:2790:18 | SelfParam | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2790:14:2790:18 | SelfParam | &T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2790:28:2792:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2791:13:2791:16 | self | | file://:0:0:0:0 | & | -| main.rs:2791:13:2791:16 | self | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2791:13:2791:16 | self | &T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2791:13:2791:18 | self.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2796:14:2796:18 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2796:14:2796:18 | SelfParam | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2796:14:2796:18 | SelfParam | &T.T | main.rs:2786:5:2787:19 | S | -| main.rs:2796:14:2796:18 | SelfParam | &T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2796:28:2798:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2797:13:2797:16 | self | | file://:0:0:0:0 | & | -| main.rs:2797:13:2797:16 | self | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2797:13:2797:16 | self | &T.T | main.rs:2786:5:2787:19 | S | -| main.rs:2797:13:2797:16 | self | &T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2797:13:2797:18 | self.0 | | main.rs:2786:5:2787:19 | S | -| main.rs:2797:13:2797:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2797:13:2797:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2802:15:2802:19 | SelfParam | | file://:0:0:0:0 | & | -| main.rs:2802:15:2802:19 | SelfParam | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2802:15:2802:19 | SelfParam | &T.T | main.rs:2801:10:2801:16 | T | -| main.rs:2802:33:2804:9 | { ... } | | main.rs:2786:5:2787:19 | S | -| main.rs:2802:33:2804:9 | { ... } | T | main.rs:2786:5:2787:19 | S | -| main.rs:2802:33:2804:9 | { ... } | T.T | main.rs:2801:10:2801:16 | T | -| main.rs:2803:13:2803:24 | S(...) | | main.rs:2786:5:2787:19 | S | -| main.rs:2803:13:2803:24 | S(...) | T | main.rs:2786:5:2787:19 | S | -| main.rs:2803:13:2803:24 | S(...) | T.T | main.rs:2801:10:2801:16 | T | -| main.rs:2803:15:2803:23 | S(...) | | main.rs:2786:5:2787:19 | S | -| main.rs:2803:15:2803:23 | S(...) | T | main.rs:2801:10:2801:16 | T | -| main.rs:2803:17:2803:20 | self | | file://:0:0:0:0 | & | -| main.rs:2803:17:2803:20 | self | &T | main.rs:2786:5:2787:19 | S | -| main.rs:2803:17:2803:20 | self | &T.T | main.rs:2801:10:2801:16 | T | -| main.rs:2803:17:2803:22 | self.0 | | main.rs:2801:10:2801:16 | T | -| main.rs:2807:14:2807:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2807:48:2824:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2807:48:2824:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2807:48:2824:5 | { ... } | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2807:48:2824:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2808:13:2808:13 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2808:13:2808:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2808:17:2813:9 | if b {...} else {...} | | main.rs:2786:5:2787:19 | S | -| main.rs:2808:17:2813:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2808:20:2808:20 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2808:22:2811:9 | { ... } | | main.rs:2786:5:2787:19 | S | -| main.rs:2808:22:2811:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2809:17:2809:17 | y | | main.rs:2786:5:2787:19 | S | -| main.rs:2809:17:2809:17 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2809:21:2809:38 | ...::default(...) | | main.rs:2786:5:2787:19 | S | -| main.rs:2809:21:2809:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2810:13:2810:13 | y | | main.rs:2786:5:2787:19 | S | -| main.rs:2810:13:2810:13 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2811:16:2813:9 | { ... } | | main.rs:2786:5:2787:19 | S | -| main.rs:2811:16:2813:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2812:13:2812:16 | S(...) | | main.rs:2786:5:2787:19 | S | -| main.rs:2812:13:2812:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2812:15:2812:15 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2817:13:2817:13 | x | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2817:13:2817:13 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2817:13:2817:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2817:13:2817:13 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2817:17:2817:20 | S(...) | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2817:17:2817:20 | S(...) | | main.rs:2786:5:2787:19 | S | -| main.rs:2817:17:2817:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2817:17:2817:20 | S(...) | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2817:19:2817:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2818:9:2823:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | -| main.rs:2818:9:2823:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T | main.rs:2786:5:2787:19 | S | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T.T | main.rs:2786:5:2787:19 | S | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2818:9:2823:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2818:12:2818:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2818:14:2821:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2818:14:2821:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2818:14:2821:9 | { ... } | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2818:14:2821:9 | { ... } | T | main.rs:2786:5:2787:19 | S | -| main.rs:2818:14:2821:9 | { ... } | T.T | main.rs:2786:5:2787:19 | S | -| main.rs:2818:14:2821:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2818:14:2821:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:17:2819:17 | x | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2819:17:2819:17 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2819:17:2819:17 | x | T | main.rs:2786:5:2787:19 | S | -| main.rs:2819:17:2819:17 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:17:2819:17 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:21:2819:21 | x | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2819:21:2819:21 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2819:21:2819:21 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:21:2819:21 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:21:2819:26 | x.m2() | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2819:21:2819:26 | x.m2() | | main.rs:2786:5:2787:19 | S | -| main.rs:2819:21:2819:26 | x.m2() | T | main.rs:2786:5:2787:19 | S | -| main.rs:2819:21:2819:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:21:2819:26 | x.m2() | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2820:13:2820:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2820:13:2820:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2820:13:2820:23 | ...::new(...) | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2820:13:2820:23 | ...::new(...) | T | main.rs:2786:5:2787:19 | S | -| main.rs:2820:13:2820:23 | ...::new(...) | T.T | main.rs:2786:5:2787:19 | S | -| main.rs:2820:13:2820:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2820:13:2820:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2820:22:2820:22 | x | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2820:22:2820:22 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2820:22:2820:22 | x | T | main.rs:2786:5:2787:19 | S | -| main.rs:2820:22:2820:22 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2820:22:2820:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2821:16:2823:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2821:16:2823:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2821:16:2823:9 | { ... } | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2821:16:2823:9 | { ... } | T | main.rs:2786:5:2787:19 | S | -| main.rs:2821:16:2823:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2821:16:2823:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2822:13:2822:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2822:13:2822:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2822:13:2822:23 | ...::new(...) | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2822:13:2822:23 | ...::new(...) | T | main.rs:2786:5:2787:19 | S | -| main.rs:2822:13:2822:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2822:13:2822:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2822:22:2822:22 | x | | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2822:22:2822:22 | x | | main.rs:2786:5:2787:19 | S | -| main.rs:2822:22:2822:22 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2822:22:2822:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2834:5:2834:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2835:5:2835:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2835:20:2835:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2835:41:2835:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2852:5:2852:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2865:5:2865:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2865:5:2865:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2865:5:2865:20 | ...::f(...) | T | main.rs:2782:5:2784:5 | dyn MyTrait | -| main.rs:2865:5:2865:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2865:16:2865:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2547:13:2547:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2547:18:2547:18 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2547:18:2547:22 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2547:18:2547:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2547:21:2547:22 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2548:13:2548:13 | u | | {EXTERNAL LOCATION} | Range | +| main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2548:18:2548:26 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2548:18:2548:26 | [...] | [T;...] | {EXTERNAL LOCATION} | Range | +| main.rs:2548:18:2548:26 | [...] | [T;...].Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2548:18:2548:26 | [...] | [T;...].Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2548:19:2548:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2548:19:2548:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2548:19:2548:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2548:19:2548:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2548:24:2548:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2548:24:2548:25 | 10 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2549:13:2549:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2549:13:2549:17 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2549:21:2549:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2549:21:2549:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2549:21:2549:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2549:24:2549:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2550:13:2550:13 | i | | {EXTERNAL LOCATION} | Item | +| main.rs:2550:13:2550:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2550:18:2550:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2550:18:2550:22 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2551:13:2551:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2551:26:2551:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2552:13:2552:13 | i | | {EXTERNAL LOCATION} | Item | +| main.rs:2552:18:2552:48 | &... | | file://:0:0:0:0 | & | +| main.rs:2552:19:2552:36 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2552:19:2552:36 | [...] | [T;...] | {EXTERNAL LOCATION} | i64 | +| main.rs:2552:20:2552:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2552:26:2552:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2552:32:2552:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2552:38:2552:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2554:13:2554:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2554:13:2554:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2555:9:2558:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2555:9:2558:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2556:20:2556:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2557:18:2557:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2559:13:2559:13 | u | | {EXTERNAL LOCATION} | Item | +| main.rs:2559:13:2559:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2559:18:2559:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2559:18:2559:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2563:26:2563:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2563:29:2563:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2563:32:2563:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2566:13:2566:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2566:13:2566:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2566:13:2566:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2566:32:2566:43 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2566:32:2566:43 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2566:32:2566:43 | [...] | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2566:32:2566:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2566:32:2566:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2566:32:2566:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2566:33:2566:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2566:39:2566:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2566:42:2566:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2567:13:2567:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2567:13:2567:13 | u | | file://:0:0:0:0 | & | +| main.rs:2567:18:2567:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2567:18:2567:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2567:18:2567:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2569:22:2569:33 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2569:22:2569:33 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2569:22:2569:33 | [...] | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2569:23:2569:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2569:29:2569:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2569:32:2569:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:13:2572:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2572:13:2572:17 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2572:13:2572:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:13:2572:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2572:21:2572:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2572:21:2572:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2572:21:2572:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:21:2572:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2572:31:2572:42 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2572:31:2572:42 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:31:2572:42 | [...] | [T;...] | {EXTERNAL LOCATION} | u32 | +| main.rs:2572:32:2572:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2572:38:2572:38 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:41:2572:41 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:13:2573:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:13:2573:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2573:13:2573:13 | u | | file://:0:0:0:0 | & | +| main.rs:2573:18:2573:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2573:18:2573:22 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2573:18:2573:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:18:2573:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2575:13:2575:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2575:13:2575:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2575:13:2575:17 | vals6 | T | file://:0:0:0:0 | & | +| main.rs:2575:13:2575:17 | vals6 | T.&T | {EXTERNAL LOCATION} | u64 | +| main.rs:2575:32:2575:43 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2575:32:2575:43 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2575:32:2575:43 | [...] | [T;...] | {EXTERNAL LOCATION} | u64 | +| main.rs:2575:32:2575:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2575:32:2575:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2575:32:2575:60 | ... .collect() | T | file://:0:0:0:0 | & | +| main.rs:2575:32:2575:60 | ... .collect() | T.&T | {EXTERNAL LOCATION} | u64 | +| main.rs:2575:33:2575:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2575:39:2575:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2575:42:2575:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2576:13:2576:13 | u | | file://:0:0:0:0 | & | +| main.rs:2576:13:2576:13 | u | &T | {EXTERNAL LOCATION} | u64 | +| main.rs:2576:18:2576:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2576:18:2576:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2576:18:2576:22 | vals6 | T | file://:0:0:0:0 | & | +| main.rs:2576:18:2576:22 | vals6 | T.&T | {EXTERNAL LOCATION} | u64 | +| main.rs:2578:17:2578:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2578:17:2578:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2578:17:2578:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2578:25:2578:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2578:25:2578:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2578:25:2578:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2579:9:2579:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2579:9:2579:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2579:9:2579:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2579:20:2579:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2580:13:2580:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2580:13:2580:13 | u | | file://:0:0:0:0 | & | +| main.rs:2580:18:2580:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2580:18:2580:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2580:18:2580:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2582:33:2582:33 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2582:36:2582:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2582:45:2582:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2582:48:2582:48 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2589:17:2589:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2589:17:2589:20 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2589:17:2589:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2589:17:2589:20 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2589:17:2589:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2589:17:2589:20 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2589:17:2589:20 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2589:24:2589:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2589:24:2589:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2589:24:2589:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2589:24:2589:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | +| main.rs:2589:24:2589:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2589:24:2589:55 | ...::new(...) | V.T | file://:0:0:0:0 | & | +| main.rs:2589:24:2589:55 | ...::new(...) | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2590:9:2590:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2590:9:2590:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:9:2590:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2590:9:2590:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2590:9:2590:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2590:9:2590:12 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2590:9:2590:12 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2590:9:2590:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2590:9:2590:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2590:9:2590:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2590:9:2590:39 | map1.insert(...) | T.T | file://:0:0:0:0 | & | +| main.rs:2590:9:2590:39 | map1.insert(...) | T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2590:21:2590:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:24:2590:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2590:24:2590:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2590:24:2590:38 | ...::new(...) | T | file://:0:0:0:0 | & | +| main.rs:2590:24:2590:38 | ...::new(...) | T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2590:33:2590:37 | "one" | | file://:0:0:0:0 | & | +| main.rs:2590:33:2590:37 | "one" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2591:9:2591:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2591:9:2591:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2591:9:2591:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2591:9:2591:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2591:9:2591:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2591:9:2591:12 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2591:9:2591:12 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2591:9:2591:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2591:9:2591:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2591:9:2591:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2591:9:2591:39 | map1.insert(...) | T.T | file://:0:0:0:0 | & | +| main.rs:2591:9:2591:39 | map1.insert(...) | T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2591:21:2591:21 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2591:24:2591:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2591:24:2591:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2591:24:2591:38 | ...::new(...) | T | file://:0:0:0:0 | & | +| main.rs:2591:24:2591:38 | ...::new(...) | T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2591:33:2591:37 | "two" | | file://:0:0:0:0 | & | +| main.rs:2591:33:2591:37 | "two" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2592:13:2592:15 | key | | {EXTERNAL LOCATION} | Item | +| main.rs:2592:13:2592:15 | key | | file://:0:0:0:0 | & | +| main.rs:2592:13:2592:15 | key | &T | {EXTERNAL LOCATION} | i32 | +| main.rs:2592:20:2592:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2592:20:2592:23 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2592:20:2592:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2592:20:2592:23 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2592:20:2592:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2592:20:2592:23 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2592:20:2592:23 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2592:20:2592:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | +| main.rs:2592:20:2592:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2592:20:2592:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2592:20:2592:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2592:20:2592:30 | map1.keys() | V.T | file://:0:0:0:0 | & | +| main.rs:2592:20:2592:30 | map1.keys() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2593:13:2593:17 | value | | {EXTERNAL LOCATION} | Item | +| main.rs:2593:13:2593:17 | value | | file://:0:0:0:0 | & | +| main.rs:2593:13:2593:17 | value | &T | {EXTERNAL LOCATION} | Box | +| main.rs:2593:13:2593:17 | value | &T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2593:13:2593:17 | value | &T.T | file://:0:0:0:0 | & | +| main.rs:2593:13:2593:17 | value | &T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2593:22:2593:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2593:22:2593:25 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2593:22:2593:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2593:22:2593:25 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2593:22:2593:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2593:22:2593:25 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2593:22:2593:25 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2593:22:2593:34 | map1.values() | | {EXTERNAL LOCATION} | Values | +| main.rs:2593:22:2593:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2593:22:2593:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2593:22:2593:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2593:22:2593:34 | map1.values() | V.T | file://:0:0:0:0 | & | +| main.rs:2593:22:2593:34 | map1.values() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2594:13:2594:24 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2594:13:2594:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | +| main.rs:2594:13:2594:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:13:2594:24 | TuplePat | 1(2) | file://:0:0:0:0 | & | +| main.rs:2594:13:2594:24 | TuplePat | 1(2).&T | {EXTERNAL LOCATION} | Box | +| main.rs:2594:13:2594:24 | TuplePat | 1(2).&T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2594:13:2594:24 | TuplePat | 1(2).&T.T | file://:0:0:0:0 | & | +| main.rs:2594:13:2594:24 | TuplePat | 1(2).&T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2594:14:2594:16 | key | | file://:0:0:0:0 | & | +| main.rs:2594:14:2594:16 | key | &T | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:19:2594:23 | value | | file://:0:0:0:0 | & | +| main.rs:2594:19:2594:23 | value | &T | {EXTERNAL LOCATION} | Box | +| main.rs:2594:19:2594:23 | value | &T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2594:19:2594:23 | value | &T.T | file://:0:0:0:0 | & | +| main.rs:2594:19:2594:23 | value | &T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2594:29:2594:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2594:29:2594:32 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:29:2594:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2594:29:2594:32 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2594:29:2594:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2594:29:2594:32 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2594:29:2594:32 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2594:29:2594:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | +| main.rs:2594:29:2594:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:29:2594:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2594:29:2594:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2594:29:2594:39 | map1.iter() | V.T | file://:0:0:0:0 | & | +| main.rs:2594:29:2594:39 | map1.iter() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2595:13:2595:24 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2595:13:2595:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | +| main.rs:2595:13:2595:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | +| main.rs:2595:13:2595:24 | TuplePat | 1(2) | file://:0:0:0:0 | & | +| main.rs:2595:13:2595:24 | TuplePat | 1(2).&T | {EXTERNAL LOCATION} | Box | +| main.rs:2595:13:2595:24 | TuplePat | 1(2).&T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2595:13:2595:24 | TuplePat | 1(2).&T.T | file://:0:0:0:0 | & | +| main.rs:2595:13:2595:24 | TuplePat | 1(2).&T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2595:14:2595:16 | key | | file://:0:0:0:0 | & | +| main.rs:2595:14:2595:16 | key | &T | {EXTERNAL LOCATION} | i32 | +| main.rs:2595:19:2595:23 | value | | file://:0:0:0:0 | & | +| main.rs:2595:19:2595:23 | value | &T | {EXTERNAL LOCATION} | Box | +| main.rs:2595:19:2595:23 | value | &T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2595:19:2595:23 | value | &T.T | file://:0:0:0:0 | & | +| main.rs:2595:19:2595:23 | value | &T.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2595:29:2595:33 | &map1 | | file://:0:0:0:0 | & | +| main.rs:2595:29:2595:33 | &map1 | &T | {EXTERNAL LOCATION} | HashMap | +| main.rs:2595:29:2595:33 | &map1 | &T.K | {EXTERNAL LOCATION} | i32 | +| main.rs:2595:29:2595:33 | &map1 | &T.S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2595:29:2595:33 | &map1 | &T.V | {EXTERNAL LOCATION} | Box | +| main.rs:2595:29:2595:33 | &map1 | &T.V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2595:29:2595:33 | &map1 | &T.V.T | file://:0:0:0:0 | & | +| main.rs:2595:29:2595:33 | &map1 | &T.V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2595:30:2595:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2595:30:2595:33 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2595:30:2595:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2595:30:2595:33 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2595:30:2595:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2595:30:2595:33 | map1 | V.T | file://:0:0:0:0 | & | +| main.rs:2595:30:2595:33 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2599:17:2599:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2601:23:2601:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2601:23:2601:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2601:27:2601:28 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:27:2601:28 | 10 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2603:13:2603:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2603:13:2603:18 | ... += ... | | file://:0:0:0:0 | () | +| main.rs:2603:18:2603:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2615:40:2617:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2615:40:2617:9 | { ... } | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2615:40:2617:9 | { ... } | T.T | main.rs:2614:10:2614:19 | T | +| main.rs:2616:13:2616:16 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2616:13:2616:16 | None | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2616:13:2616:16 | None | T.T | main.rs:2614:10:2614:19 | T | +| main.rs:2619:30:2621:9 | { ... } | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2619:30:2621:9 | { ... } | T | main.rs:2614:10:2614:19 | T | +| main.rs:2620:13:2620:28 | S1(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2620:13:2620:28 | S1(...) | T | main.rs:2614:10:2614:19 | T | +| main.rs:2620:16:2620:27 | ...::default(...) | | main.rs:2614:10:2614:19 | T | +| main.rs:2623:19:2623:22 | SelfParam | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2623:19:2623:22 | SelfParam | T | main.rs:2614:10:2614:19 | T | +| main.rs:2623:33:2625:9 | { ... } | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2623:33:2625:9 | { ... } | T | main.rs:2614:10:2614:19 | T | +| main.rs:2624:13:2624:16 | self | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2624:13:2624:16 | self | T | main.rs:2614:10:2614:19 | T | +| main.rs:2636:15:2636:15 | x | | main.rs:2636:12:2636:12 | T | +| main.rs:2636:26:2638:5 | { ... } | | main.rs:2636:12:2636:12 | T | +| main.rs:2637:9:2637:9 | x | | main.rs:2636:12:2636:12 | T | +| main.rs:2641:13:2641:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2641:13:2641:14 | x1 | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2641:13:2641:14 | x1 | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2641:34:2641:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2641:34:2641:48 | ...::assoc_fun(...) | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2641:34:2641:48 | ...::assoc_fun(...) | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2642:13:2642:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2642:13:2642:14 | x2 | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2642:13:2642:14 | x2 | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2642:18:2642:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2642:18:2642:38 | ...::assoc_fun(...) | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2642:18:2642:38 | ...::assoc_fun(...) | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2643:13:2643:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2643:13:2643:14 | x3 | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2643:13:2643:14 | x3 | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2643:18:2643:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2643:18:2643:32 | ...::assoc_fun(...) | T | main.rs:2609:5:2609:20 | S1 | +| main.rs:2643:18:2643:32 | ...::assoc_fun(...) | T.T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2644:13:2644:14 | x4 | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2644:13:2644:14 | x4 | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2644:18:2644:48 | ...::method(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2644:18:2644:48 | ...::method(...) | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2644:35:2644:47 | ...::default(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2644:35:2644:47 | ...::default(...) | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2645:13:2645:14 | x5 | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2645:13:2645:14 | x5 | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2645:18:2645:42 | ...::method(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2645:18:2645:42 | ...::method(...) | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2645:29:2645:41 | ...::default(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2645:29:2645:41 | ...::default(...) | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2646:13:2646:14 | x6 | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2646:13:2646:14 | x6 | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2646:18:2646:45 | S4::<...>(...) | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2646:18:2646:45 | S4::<...>(...) | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2646:27:2646:44 | ...::default(...) | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2647:13:2647:14 | x7 | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2647:13:2647:14 | x7 | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2647:18:2647:23 | S4(...) | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2647:18:2647:23 | S4(...) | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2647:21:2647:22 | S2 | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2648:13:2648:14 | x8 | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2648:13:2648:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2648:18:2648:22 | S4(...) | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2648:18:2648:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2648:21:2648:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2649:13:2649:14 | x9 | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2649:13:2649:14 | x9 | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2649:18:2649:34 | S4(...) | | main.rs:2630:5:2630:27 | S4 | +| main.rs:2649:18:2649:34 | S4(...) | T4 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2649:21:2649:33 | ...::default(...) | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2650:13:2650:15 | x10 | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2650:13:2650:15 | x10 | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2650:19:2653:9 | S5::<...> {...} | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2650:19:2653:9 | S5::<...> {...} | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2652:20:2652:37 | ...::default(...) | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2654:13:2654:15 | x11 | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2654:13:2654:15 | x11 | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2654:19:2654:34 | S5 {...} | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2654:19:2654:34 | S5 {...} | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2654:31:2654:32 | S2 | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2655:13:2655:15 | x12 | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2655:13:2655:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2655:19:2655:33 | S5 {...} | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2655:19:2655:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2655:31:2655:31 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2656:13:2656:15 | x13 | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2656:13:2656:15 | x13 | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2656:19:2659:9 | S5 {...} | | main.rs:2632:5:2634:5 | S5 | +| main.rs:2656:19:2659:9 | S5 {...} | T5 | main.rs:2611:5:2612:14 | S2 | +| main.rs:2658:20:2658:32 | ...::default(...) | | main.rs:2611:5:2612:14 | S2 | +| main.rs:2660:13:2660:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2660:19:2660:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2660:30:2660:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2661:13:2661:15 | x15 | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2661:13:2661:15 | x15 | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2661:19:2661:37 | ...::default(...) | | main.rs:2609:5:2609:20 | S1 | +| main.rs:2661:19:2661:37 | ...::default(...) | T | main.rs:2611:5:2612:14 | S2 | +| main.rs:2670:35:2672:9 | { ... } | | file://:0:0:0:0 | (T_2) | +| main.rs:2670:35:2672:9 | { ... } | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2670:35:2672:9 | { ... } | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2671:13:2671:26 | TupleExpr | | file://:0:0:0:0 | (T_2) | +| main.rs:2671:13:2671:26 | TupleExpr | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2671:13:2671:26 | TupleExpr | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2671:14:2671:18 | S1 {...} | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2671:21:2671:25 | S1 {...} | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2673:16:2673:19 | SelfParam | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2677:13:2677:13 | a | | file://:0:0:0:0 | (T_2) | +| main.rs:2677:13:2677:13 | a | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2677:13:2677:13 | a | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2677:17:2677:30 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2677:17:2677:30 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2677:17:2677:30 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2678:17:2678:17 | b | | file://:0:0:0:0 | (T_2) | +| main.rs:2678:17:2678:17 | b | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2678:17:2678:17 | b | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2678:21:2678:34 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2678:21:2678:34 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2678:21:2678:34 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:13:2679:18 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2679:13:2679:18 | TuplePat | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:13:2679:18 | TuplePat | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:14:2679:14 | c | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:17:2679:17 | d | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:22:2679:35 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2679:22:2679:35 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2679:22:2679:35 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:13:2680:22 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2680:13:2680:22 | TuplePat | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:13:2680:22 | TuplePat | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:18:2680:18 | e | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:21:2680:21 | f | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:26:2680:39 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2680:26:2680:39 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2680:26:2680:39 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:13:2681:26 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2681:13:2681:26 | TuplePat | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:13:2681:26 | TuplePat | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:18:2681:18 | g | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:25:2681:25 | h | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:30:2681:43 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2681:30:2681:43 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2681:30:2681:43 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2683:9:2683:9 | a | | file://:0:0:0:0 | (T_2) | +| main.rs:2683:9:2683:9 | a | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2683:9:2683:9 | a | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2683:9:2683:11 | a.0 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2684:9:2684:9 | b | | file://:0:0:0:0 | (T_2) | +| main.rs:2684:9:2684:9 | b | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2684:9:2684:9 | b | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2684:9:2684:11 | b.1 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2685:9:2685:9 | c | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2686:9:2686:9 | d | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2687:9:2687:9 | e | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2688:9:2688:9 | f | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2689:9:2689:9 | g | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2690:9:2690:9 | h | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2695:13:2695:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2695:17:2695:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2696:13:2696:13 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2696:17:2696:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2697:13:2697:16 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2697:13:2697:16 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | +| main.rs:2697:13:2697:16 | pair | 1(2) | {EXTERNAL LOCATION} | bool | +| main.rs:2697:20:2697:25 | TupleExpr | | file://:0:0:0:0 | (T_2) | +| main.rs:2697:20:2697:25 | TupleExpr | 0(2) | {EXTERNAL LOCATION} | i64 | +| main.rs:2697:20:2697:25 | TupleExpr | 1(2) | {EXTERNAL LOCATION} | bool | +| main.rs:2697:21:2697:21 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2697:24:2697:24 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2698:13:2698:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2698:22:2698:25 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2698:22:2698:25 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | +| main.rs:2698:22:2698:25 | pair | 1(2) | {EXTERNAL LOCATION} | bool | +| main.rs:2698:22:2698:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2699:13:2699:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2699:23:2699:26 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2699:23:2699:26 | pair | 0(2) | {EXTERNAL LOCATION} | i64 | +| main.rs:2699:23:2699:26 | pair | 1(2) | {EXTERNAL LOCATION} | bool | +| main.rs:2699:23:2699:28 | pair.1 | | {EXTERNAL LOCATION} | bool | +| main.rs:2701:13:2701:16 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2701:13:2701:16 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:13:2701:16 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:20:2701:25 | [...] | | file://:0:0:0:0 | [] | +| main.rs:2701:20:2701:25 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:20:2701:32 | ... .into() | | file://:0:0:0:0 | (T_2) | +| main.rs:2701:20:2701:32 | ... .into() | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:20:2701:32 | ... .into() | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:21:2701:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:24:2701:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:15:2702:18 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2702:15:2702:18 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:15:2702:18 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:13:2703:18 | TuplePat | | file://:0:0:0:0 | (T_2) | +| main.rs:2703:13:2703:18 | TuplePat | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:13:2703:18 | TuplePat | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:14:2703:14 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:17:2703:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:30:2703:41 | "unexpected" | | file://:0:0:0:0 | & | +| main.rs:2703:30:2703:41 | "unexpected" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2703:30:2703:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2703:30:2703:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2704:13:2704:13 | _ | | file://:0:0:0:0 | (T_2) | +| main.rs:2704:13:2704:13 | _ | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:13:2704:13 | _ | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:25:2704:34 | "expected" | | file://:0:0:0:0 | & | +| main.rs:2704:25:2704:34 | "expected" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2704:25:2704:34 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2704:25:2704:34 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2706:13:2706:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2706:17:2706:20 | pair | | file://:0:0:0:0 | (T_2) | +| main.rs:2706:17:2706:20 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2706:17:2706:20 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2706:17:2706:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2708:13:2708:13 | y | | file://:0:0:0:0 | & | +| main.rs:2708:13:2708:13 | y | &T | file://:0:0:0:0 | (T_2) | +| main.rs:2708:13:2708:13 | y | &T.0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2708:13:2708:13 | y | &T.1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2708:17:2708:31 | &... | | file://:0:0:0:0 | & | +| main.rs:2708:17:2708:31 | &... | &T | file://:0:0:0:0 | (T_2) | +| main.rs:2708:17:2708:31 | &... | &T.0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2708:17:2708:31 | &... | &T.1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2708:18:2708:31 | ...::get_pair(...) | | file://:0:0:0:0 | (T_2) | +| main.rs:2708:18:2708:31 | ...::get_pair(...) | 0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2708:18:2708:31 | ...::get_pair(...) | 1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2709:9:2709:9 | y | | file://:0:0:0:0 | & | +| main.rs:2709:9:2709:9 | y | &T | file://:0:0:0:0 | (T_2) | +| main.rs:2709:9:2709:9 | y | &T.0(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2709:9:2709:9 | y | &T.1(2) | main.rs:2666:5:2667:16 | S1 | +| main.rs:2709:9:2709:11 | y.0 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2716:13:2716:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2716:13:2716:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2716:13:2716:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2716:27:2716:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2716:27:2716:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2716:27:2716:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2716:36:2716:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:15:2719:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2719:15:2719:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2719:15:2719:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:13:2720:19 | box 100 | | {EXTERNAL LOCATION} | Box | +| main.rs:2720:13:2720:19 | box 100 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2720:13:2720:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:17:2720:19 | 100 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2721:26:2721:36 | "Boxed 100\\n" | | file://:0:0:0:0 | & | +| main.rs:2721:26:2721:36 | "Boxed 100\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2721:26:2721:36 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2721:26:2721:36 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2723:13:2723:17 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2723:13:2723:17 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2723:13:2723:17 | box ... | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2725:26:2725:42 | "Boxed value: {}\\n" | | file://:0:0:0:0 | & | +| main.rs:2725:26:2725:42 | "Boxed value: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2725:26:2725:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2725:26:2725:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2730:13:2730:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2730:13:2730:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:13:2730:22 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2730:13:2730:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:13:2730:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2730:26:2730:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2730:26:2730:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:26:2730:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2730:26:2730:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:26:2730:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2730:35:2730:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2730:35:2730:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2730:35:2730:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2730:44:2730:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2731:15:2731:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2731:15:2731:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2731:15:2731:24 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2731:15:2731:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2731:15:2731:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:13:2732:21 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2732:13:2732:21 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2732:13:2732:21 | box ... | T | {EXTERNAL LOCATION} | Box | +| main.rs:2732:13:2732:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2732:13:2732:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2734:26:2734:43 | "Nested boxed: {}\\n" | | file://:0:0:0:0 | & | +| main.rs:2734:26:2734:43 | "Nested boxed: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2734:26:2734:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2734:26:2734:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2746:36:2748:9 | { ... } | | main.rs:2743:5:2743:22 | Path | +| main.rs:2747:13:2747:19 | Path {...} | | main.rs:2743:5:2743:22 | Path | +| main.rs:2750:29:2750:33 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2750:29:2750:33 | SelfParam | &T | main.rs:2743:5:2743:22 | Path | +| main.rs:2750:59:2752:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2750:59:2752:9 | { ... } | E | file://:0:0:0:0 | () | +| main.rs:2750:59:2752:9 | { ... } | T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2751:13:2751:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2751:13:2751:30 | Ok(...) | E | file://:0:0:0:0 | () | +| main.rs:2751:13:2751:30 | Ok(...) | T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2751:16:2751:29 | ...::new(...) | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2758:39:2760:9 | { ... } | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2759:13:2759:22 | PathBuf {...} | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2768:18:2768:22 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2768:18:2768:22 | SelfParam | &T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2768:34:2772:9 | { ... } | | file://:0:0:0:0 | & | +| main.rs:2768:34:2772:9 | { ... } | &T | main.rs:2743:5:2743:22 | Path | +| main.rs:2770:33:2770:43 | ...::new(...) | | main.rs:2743:5:2743:22 | Path | +| main.rs:2771:13:2771:17 | &path | | file://:0:0:0:0 | & | +| main.rs:2771:13:2771:17 | &path | &T | main.rs:2743:5:2743:22 | Path | +| main.rs:2771:14:2771:17 | path | | main.rs:2743:5:2743:22 | Path | +| main.rs:2776:13:2776:17 | path1 | | main.rs:2743:5:2743:22 | Path | +| main.rs:2776:21:2776:31 | ...::new(...) | | main.rs:2743:5:2743:22 | Path | +| main.rs:2777:13:2777:17 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2777:13:2777:17 | path2 | E | file://:0:0:0:0 | () | +| main.rs:2777:13:2777:17 | path2 | T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2777:21:2777:25 | path1 | | main.rs:2743:5:2743:22 | Path | +| main.rs:2777:21:2777:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | +| main.rs:2777:21:2777:40 | path1.canonicalize() | E | file://:0:0:0:0 | () | +| main.rs:2777:21:2777:40 | path1.canonicalize() | T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2778:13:2778:17 | path3 | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2778:21:2778:25 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2778:21:2778:25 | path2 | E | file://:0:0:0:0 | () | +| main.rs:2778:21:2778:25 | path2 | T | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2778:21:2778:34 | path2.unwrap() | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2780:13:2780:20 | pathbuf1 | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2780:24:2780:37 | ...::new(...) | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2781:24:2781:31 | pathbuf1 | | main.rs:2755:5:2755:25 | PathBuf | +| main.rs:2788:14:2788:18 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2788:14:2788:18 | SelfParam | &T | main.rs:2787:5:2789:5 | Self [trait MyTrait] | +| main.rs:2795:14:2795:18 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2795:14:2795:18 | SelfParam | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2795:14:2795:18 | SelfParam | &T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2795:28:2797:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:13:2796:16 | self | | file://:0:0:0:0 | & | +| main.rs:2796:13:2796:16 | self | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2796:13:2796:16 | self | &T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2796:13:2796:18 | self.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2801:14:2801:18 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2801:14:2801:18 | SelfParam | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2801:14:2801:18 | SelfParam | &T.T | main.rs:2791:5:2792:19 | S | +| main.rs:2801:14:2801:18 | SelfParam | &T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2801:28:2803:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2802:13:2802:16 | self | | file://:0:0:0:0 | & | +| main.rs:2802:13:2802:16 | self | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2802:13:2802:16 | self | &T.T | main.rs:2791:5:2792:19 | S | +| main.rs:2802:13:2802:16 | self | &T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2802:13:2802:18 | self.0 | | main.rs:2791:5:2792:19 | S | +| main.rs:2802:13:2802:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2802:13:2802:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2807:15:2807:19 | SelfParam | | file://:0:0:0:0 | & | +| main.rs:2807:15:2807:19 | SelfParam | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2807:15:2807:19 | SelfParam | &T.T | main.rs:2806:10:2806:16 | T | +| main.rs:2807:33:2809:9 | { ... } | | main.rs:2791:5:2792:19 | S | +| main.rs:2807:33:2809:9 | { ... } | T | main.rs:2791:5:2792:19 | S | +| main.rs:2807:33:2809:9 | { ... } | T.T | main.rs:2806:10:2806:16 | T | +| main.rs:2808:13:2808:24 | S(...) | | main.rs:2791:5:2792:19 | S | +| main.rs:2808:13:2808:24 | S(...) | T | main.rs:2791:5:2792:19 | S | +| main.rs:2808:13:2808:24 | S(...) | T.T | main.rs:2806:10:2806:16 | T | +| main.rs:2808:15:2808:23 | S(...) | | main.rs:2791:5:2792:19 | S | +| main.rs:2808:15:2808:23 | S(...) | T | main.rs:2806:10:2806:16 | T | +| main.rs:2808:17:2808:20 | self | | file://:0:0:0:0 | & | +| main.rs:2808:17:2808:20 | self | &T | main.rs:2791:5:2792:19 | S | +| main.rs:2808:17:2808:20 | self | &T.T | main.rs:2806:10:2806:16 | T | +| main.rs:2808:17:2808:22 | self.0 | | main.rs:2806:10:2806:16 | T | +| main.rs:2812:14:2812:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2812:48:2829:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2812:48:2829:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2812:48:2829:5 | { ... } | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2812:48:2829:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2813:13:2813:13 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2813:13:2813:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2813:17:2818:9 | if b {...} else {...} | | main.rs:2791:5:2792:19 | S | +| main.rs:2813:17:2818:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2813:20:2813:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2813:22:2816:9 | { ... } | | main.rs:2791:5:2792:19 | S | +| main.rs:2813:22:2816:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2814:17:2814:17 | y | | main.rs:2791:5:2792:19 | S | +| main.rs:2814:17:2814:17 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2814:21:2814:38 | ...::default(...) | | main.rs:2791:5:2792:19 | S | +| main.rs:2814:21:2814:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2815:13:2815:13 | y | | main.rs:2791:5:2792:19 | S | +| main.rs:2815:13:2815:13 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2816:16:2818:9 | { ... } | | main.rs:2791:5:2792:19 | S | +| main.rs:2816:16:2818:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2817:13:2817:16 | S(...) | | main.rs:2791:5:2792:19 | S | +| main.rs:2817:13:2817:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2817:15:2817:15 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:13:2822:13 | x | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2822:13:2822:13 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2822:13:2822:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:13:2822:13 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:17:2822:20 | S(...) | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2822:17:2822:20 | S(...) | | main.rs:2791:5:2792:19 | S | +| main.rs:2822:17:2822:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:17:2822:20 | S(...) | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2822:19:2822:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2823:9:2828:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | +| main.rs:2823:9:2828:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T | main.rs:2791:5:2792:19 | S | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T.T | main.rs:2791:5:2792:19 | S | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2823:9:2828:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2823:12:2823:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2823:14:2826:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2823:14:2826:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2823:14:2826:9 | { ... } | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2823:14:2826:9 | { ... } | T | main.rs:2791:5:2792:19 | S | +| main.rs:2823:14:2826:9 | { ... } | T.T | main.rs:2791:5:2792:19 | S | +| main.rs:2823:14:2826:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2823:14:2826:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:17:2824:17 | x | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2824:17:2824:17 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2824:17:2824:17 | x | T | main.rs:2791:5:2792:19 | S | +| main.rs:2824:17:2824:17 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:17:2824:17 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:21:2824:21 | x | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2824:21:2824:21 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2824:21:2824:21 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:21:2824:21 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:21:2824:26 | x.m2() | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2824:21:2824:26 | x.m2() | | main.rs:2791:5:2792:19 | S | +| main.rs:2824:21:2824:26 | x.m2() | T | main.rs:2791:5:2792:19 | S | +| main.rs:2824:21:2824:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2824:21:2824:26 | x.m2() | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2825:13:2825:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2825:13:2825:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2825:13:2825:23 | ...::new(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2825:13:2825:23 | ...::new(...) | T | main.rs:2791:5:2792:19 | S | +| main.rs:2825:13:2825:23 | ...::new(...) | T.T | main.rs:2791:5:2792:19 | S | +| main.rs:2825:13:2825:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2825:13:2825:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2825:22:2825:22 | x | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2825:22:2825:22 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2825:22:2825:22 | x | T | main.rs:2791:5:2792:19 | S | +| main.rs:2825:22:2825:22 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2825:22:2825:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2826:16:2828:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2826:16:2828:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2826:16:2828:9 | { ... } | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2826:16:2828:9 | { ... } | T | main.rs:2791:5:2792:19 | S | +| main.rs:2826:16:2828:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2826:16:2828:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2827:13:2827:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2827:13:2827:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2827:13:2827:23 | ...::new(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2827:13:2827:23 | ...::new(...) | T | main.rs:2791:5:2792:19 | S | +| main.rs:2827:13:2827:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2827:13:2827:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2827:22:2827:22 | x | | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2827:22:2827:22 | x | | main.rs:2791:5:2792:19 | S | +| main.rs:2827:22:2827:22 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2827:22:2827:22 | x | dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2833:22:2837:5 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2834:18:2834:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2834:33:2836:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2835:13:2835:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2835:13:2835:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:2835:17:2835:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2847:5:2847:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2848:5:2848:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2848:20:2848:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2848:41:2848:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2865:5:2865:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2878:5:2878:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2878:5:2878:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2878:5:2878:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2878:5:2878:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2878:16:2878:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2879:5:2879:23 | ...::f(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | file://:0:0:0:0 | () | | pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option | diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index ce1b97570ee6..5861ede759b7 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -266,7 +266,7 @@ class _: @annotate(MatchArm) -@rust.doc_test_signature("(x: i32) -> i32") +@rust.doc_test_signature("(x: i32)") class _: """ A match arm. For example: @@ -1738,7 +1738,7 @@ class _: For example: ```rust - fn foo() -> i32 {} + fn foo() -> i32 { 0 } // ^^^^^^ ``` """ @@ -2466,7 +2466,7 @@ class _: For example: ```rust - pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> {} + pub fn hello<'a, T, const N: usize>() -> impl Sized + use<'a, T, N> { 0 } // ^^^^^^^^ ``` """ From bc53fee1c5e9b50303e723a031dc1ed2e5845f57 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 28 Oct 2025 13:33:03 +0100 Subject: [PATCH 2/6] Rust: Infer more `()` types --- .../codeql/rust/internal/TypeInference.qll | 40 +- .../lib/codeql/rust/internal/TypeMention.qll | 24 + .../PathResolutionConsistency.expected | 0 .../PathResolutionConsistency.expected | 0 .../type-inference/type-inference.expected | 940 +++++++++++++++++- 5 files changed, 995 insertions(+), 9 deletions(-) delete mode 100644 rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index d550f56b09d4..d9c3d79379e9 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -278,7 +278,7 @@ private TypeMention getTypeAnnotation(AstNode n) { ) or exists(Function f | - result = f.getRetType().getTypeRepr() and + result = getReturnTypeMention(f) and n = f.getFunctionBody() ) } @@ -436,8 +436,7 @@ module CertainTypeInference { result = inferTupleRootType(n) and path.isEmpty() or - result = inferAsyncBlockExprRootType(n) and - path.isEmpty() + result = inferBlockExprType(n, path) or result = inferArrayExprType(n) and path.isEmpty() @@ -1854,7 +1853,7 @@ private module MethodCallMatchingInput implements MatchingWithEnvironmentInputSi } private Type resolveRetType(TypePath path) { - result = this.getRetType().getTypeRepr().(TypeMention).resolveTypeAt(path) + result = getReturnTypeMention(this).resolveTypeAt(path) } pragma[nomagic] @@ -2798,11 +2797,38 @@ private AssociatedTypeTypeParameter getFutureOutputTypeParameter() { result.getTypeAlias() = any(FutureTrait ft).getOutputType() } +private predicate isReturnExprCfgAncestor(AstNode n) { + n instanceof ReturnExpr + or + exists(AstNode mid | + isReturnExprCfgAncestor(mid) and + n = mid.getParentNode() and + n.getEnclosingCfgScope() = mid.getEnclosingCfgScope() + ) +} + +pragma[nomagic] +predicate isUnitBlockExpr(BlockExpr be) { + not be.getStmtList().hasTailExpr() and + not isReturnExprCfgAncestor(be) +} + pragma[nomagic] -private TraitType inferAsyncBlockExprRootType(AsyncBlockExpr abe) { +private Type inferBlockExprType(BlockExpr be, TypePath path) { // `typeEquality` handles the non-root case - exists(abe) and - result = getFutureTraitType() + if be instanceof AsyncBlockExpr + then ( + path.isEmpty() and + result = getFutureTraitType() + or + isUnitBlockExpr(be) and + path = TypePath::singleton(getFutureOutputTypeParameter()) and + result instanceof UnitType + ) else ( + isUnitBlockExpr(be) and + path.isEmpty() and + result instanceof UnitType + ) } final private class AwaitTarget extends Expr { diff --git a/rust/ql/lib/codeql/rust/internal/TypeMention.qll b/rust/ql/lib/codeql/rust/internal/TypeMention.qll index 3a91a55e3fb8..2fde69d6c4df 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeMention.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeMention.qll @@ -443,6 +443,30 @@ TypeMention getSelfParamTypeMention(SelfParam self) { result = self.getTypeRepr() } +/** + * An element used to represent the implicit `()` return type of function. + */ +class ShorthandReturnTypeMention extends TypeMention instanceof Name { + private Function f; + + ShorthandReturnTypeMention() { + this = f.getName() and + not f.getRetType().hasTypeRepr() + } + + override Type resolveTypeAt(TypePath typePath) { + typePath.isEmpty() and + result instanceof UnitType + } +} + +pragma[nomagic] +TypeMention getReturnTypeMention(Function f) { + result.(ShorthandReturnTypeMention) = f.getName() + or + result = f.getRetType().getTypeRepr() +} + class DynTraitTypeReprMention extends TypeMention instanceof DynTraitTypeRepr { private DynTraitType dynType; diff --git a/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/file/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index e69de29bb2d1..000000000000 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 8fea18be996e..73ef95f55683 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -22,13 +22,16 @@ inferType | blanket_impl.rs:41:13:41:16 | self | | file://:0:0:0:0 | & | | blanket_impl.rs:41:13:41:16 | self | &T | blanket_impl.rs:38:10:38:18 | T | | blanket_impl.rs:41:13:41:25 | self.clone1() | | blanket_impl.rs:38:10:38:18 | T | +| blanket_impl.rs:45:33:60:5 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:46:13:46:14 | x1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:46:18:46:19 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:46:18:46:28 | S1.clone1() | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:47:18:47:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:47:18:47:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:47:18:47:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:47:18:47:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:47:20:47:21 | x1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:48:13:48:14 | x2 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:48:18:48:22 | (...) | | file://:0:0:0:0 | & | @@ -39,16 +42,20 @@ inferType | blanket_impl.rs:48:20:48:21 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:49:18:49:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:49:18:49:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:49:18:49:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:49:18:49:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:49:20:49:21 | x2 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:13:50:14 | x3 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:18:50:19 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:50:18:50:31 | S1.duplicate() | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:51:18:51:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:51:18:51:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:51:18:51:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:51:18:51:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:51:20:51:21 | x3 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:52:13:52:14 | x4 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:52:18:52:22 | (...) | | file://:0:0:0:0 | & | @@ -59,8 +66,10 @@ inferType | blanket_impl.rs:52:20:52:21 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:53:18:53:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:53:18:53:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:53:18:53:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:53:18:53:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:53:20:53:21 | x4 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:13:54:14 | x5 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:54:18:54:35 | ...::duplicate(...) | | blanket_impl.rs:6:5:7:14 | S1 | @@ -69,14 +78,18 @@ inferType | blanket_impl.rs:54:33:54:34 | S1 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:55:18:55:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:55:18:55:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:55:18:55:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:55:18:55:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:55:20:55:21 | x5 | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:56:18:56:19 | S2 | | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:57:18:57:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:57:18:57:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:57:18:57:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:57:18:57:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:58:18:58:22 | (...) | | file://:0:0:0:0 | & | | blanket_impl.rs:58:18:58:22 | (...) | &T | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:58:19:58:21 | &S2 | | file://:0:0:0:0 | & | @@ -84,8 +97,10 @@ inferType | blanket_impl.rs:58:20:58:21 | S2 | | blanket_impl.rs:9:5:10:14 | S2 | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:59:18:59:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:59:18:59:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:59:18:59:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:59:18:59:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:68:24:68:24 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:68:32:68:32 | y | | blanket_impl.rs:67:5:69:5 | Self [trait Trait1] | | blanket_impl.rs:72:24:72:24 | x | | {EXTERNAL LOCATION} | i64 | @@ -100,6 +115,7 @@ inferType | blanket_impl.rs:85:13:85:32 | ...::assoc_func1(...) | | blanket_impl.rs:82:10:82:18 | T | | blanket_impl.rs:85:28:85:28 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:85:31:85:31 | y | | blanket_impl.rs:82:10:82:18 | T | +| blanket_impl.rs:89:33:98:5 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:90:13:90:14 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:90:18:90:39 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:90:34:90:34 | 1 | | {EXTERNAL LOCATION} | i32 | @@ -107,8 +123,10 @@ inferType | blanket_impl.rs:90:37:90:38 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:91:18:91:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:91:18:91:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:91:18:91:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:91:18:91:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:91:20:91:21 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:92:13:92:14 | x2 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:92:18:92:43 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | @@ -117,8 +135,10 @@ inferType | blanket_impl.rs:92:41:92:42 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:93:18:93:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:93:18:93:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:93:18:93:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:93:18:93:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:93:20:93:21 | x2 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:94:13:94:14 | x3 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:94:18:94:39 | ...::assoc_func2(...) | | blanket_impl.rs:64:5:65:14 | S1 | @@ -127,8 +147,10 @@ inferType | blanket_impl.rs:94:37:94:38 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:95:18:95:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:95:18:95:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:95:18:95:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:95:18:95:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:95:20:95:21 | x3 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:96:13:96:14 | x4 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:96:18:96:43 | ...::assoc_func2(...) | | blanket_impl.rs:64:5:65:14 | S1 | @@ -137,8 +159,10 @@ inferType | blanket_impl.rs:96:41:96:42 | S1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:97:18:97:25 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:97:18:97:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:97:18:97:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:97:18:97:25 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:97:20:97:21 | x4 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:108:22:108:26 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:108:22:108:26 | SelfParam | &T | blanket_impl.rs:107:5:109:5 | Self [trait Flag] | @@ -187,6 +211,7 @@ inferType | blanket_impl.rs:167:18:167:21 | self | | file://:0:0:0:0 | & | | blanket_impl.rs:167:18:167:21 | self | &T | blanket_impl.rs:160:5:162:5 | MyOtherFlag | | blanket_impl.rs:167:18:167:26 | self.flag | | {EXTERNAL LOCATION} | bool | +| blanket_impl.rs:171:15:184:5 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:172:13:172:23 | my_try_flag | | blanket_impl.rs:138:5:140:5 | MyTryFlag | | blanket_impl.rs:172:27:172:50 | MyTryFlag {...} | | blanket_impl.rs:138:5:140:5 | MyTryFlag | | blanket_impl.rs:172:45:172:48 | true | | {EXTERNAL LOCATION} | bool | @@ -213,45 +238,69 @@ inferType | blanket_impl.rs:211:15:211:18 | SelfParam | | blanket_impl.rs:209:5:212:5 | Self [trait MyTrait4a] | | blanket_impl.rs:216:15:216:18 | SelfParam | | blanket_impl.rs:214:5:217:5 | Self [trait MyTrait4b] | | blanket_impl.rs:221:15:221:18 | SelfParam | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:221:21:221:22 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:226:15:226:18 | SelfParam | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:226:21:226:22 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:231:15:231:18 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:231:15:231:18 | SelfParam | &T | blanket_impl.rs:229:10:229:27 | T | +| blanket_impl.rs:231:21:233:9 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:232:13:232:16 | self | | file://:0:0:0:0 | & | | blanket_impl.rs:232:13:232:16 | self | &T | blanket_impl.rs:229:10:229:27 | T | +| blanket_impl.rs:232:13:232:21 | self.m1() | | file://:0:0:0:0 | () | | blanket_impl.rs:238:15:238:18 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:238:15:238:18 | SelfParam | &T | file://:0:0:0:0 | & | | blanket_impl.rs:238:15:238:18 | SelfParam | &T.&T | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:238:21:240:9 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:239:13:239:16 | self | | file://:0:0:0:0 | & | | blanket_impl.rs:239:13:239:16 | self | &T | file://:0:0:0:0 | & | | blanket_impl.rs:239:13:239:16 | self | &T.&T | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:239:13:239:21 | self.m1() | | file://:0:0:0:0 | () | | blanket_impl.rs:245:15:245:18 | SelfParam | | blanket_impl.rs:243:10:243:20 | T | +| blanket_impl.rs:245:21:247:9 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:246:13:246:16 | self | | blanket_impl.rs:243:10:243:20 | T | +| blanket_impl.rs:246:13:246:21 | self.m3() | | file://:0:0:0:0 | () | | blanket_impl.rs:252:15:252:18 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:252:15:252:18 | SelfParam | &T | blanket_impl.rs:250:10:250:10 | T | +| blanket_impl.rs:252:21:252:22 | { ... } | | file://:0:0:0:0 | () | +| blanket_impl.rs:255:33:263:5 | { ... } | | file://:0:0:0:0 | () | +| blanket_impl.rs:256:13:256:14 | x1 | | file://:0:0:0:0 | () | | blanket_impl.rs:256:18:256:19 | S1 | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:256:18:256:24 | S1.m1() | | file://:0:0:0:0 | () | +| blanket_impl.rs:257:13:257:14 | x2 | | file://:0:0:0:0 | () | | blanket_impl.rs:257:18:257:22 | (...) | | file://:0:0:0:0 | & | | blanket_impl.rs:257:18:257:22 | (...) | &T | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:257:18:257:27 | ... .m2() | | file://:0:0:0:0 | () | | blanket_impl.rs:257:19:257:21 | &S1 | | file://:0:0:0:0 | & | | blanket_impl.rs:257:19:257:21 | &S1 | &T | blanket_impl.rs:188:5:189:14 | S1 | | blanket_impl.rs:257:20:257:21 | S1 | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:258:13:258:14 | x3 | | file://:0:0:0:0 | () | | blanket_impl.rs:258:18:258:23 | (...) | | file://:0:0:0:0 | & | | blanket_impl.rs:258:18:258:23 | (...) | &T | file://:0:0:0:0 | & | | blanket_impl.rs:258:18:258:23 | (...) | &T.&T | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:258:18:258:28 | ... .m2() | | file://:0:0:0:0 | () | | blanket_impl.rs:258:19:258:22 | &... | | file://:0:0:0:0 | & | | blanket_impl.rs:258:19:258:22 | &... | &T | file://:0:0:0:0 | & | | blanket_impl.rs:258:19:258:22 | &... | &T.&T | blanket_impl.rs:188:5:189:14 | S1 | | blanket_impl.rs:258:20:258:22 | &S1 | | file://:0:0:0:0 | & | | blanket_impl.rs:258:20:258:22 | &S1 | &T | blanket_impl.rs:188:5:189:14 | S1 | | blanket_impl.rs:258:21:258:22 | S1 | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:259:13:259:14 | x4 | | file://:0:0:0:0 | () | | blanket_impl.rs:259:18:259:19 | S1 | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:259:18:259:24 | S1.m4() | | file://:0:0:0:0 | () | +| blanket_impl.rs:260:13:260:14 | x5 | | file://:0:0:0:0 | () | | blanket_impl.rs:260:18:260:22 | (...) | | file://:0:0:0:0 | & | | blanket_impl.rs:260:18:260:22 | (...) | &T | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:260:18:260:27 | ... .m4() | | file://:0:0:0:0 | () | | blanket_impl.rs:260:19:260:21 | &S1 | | file://:0:0:0:0 | & | | blanket_impl.rs:260:19:260:21 | &S1 | &T | blanket_impl.rs:188:5:189:14 | S1 | | blanket_impl.rs:260:20:260:21 | S1 | | blanket_impl.rs:188:5:189:14 | S1 | +| blanket_impl.rs:261:13:261:14 | x6 | | file://:0:0:0:0 | () | | blanket_impl.rs:261:18:261:19 | S2 | | blanket_impl.rs:191:5:192:14 | S2 | +| blanket_impl.rs:261:18:261:24 | S2.m4() | | file://:0:0:0:0 | () | +| blanket_impl.rs:262:13:262:14 | x7 | | file://:0:0:0:0 | () | | blanket_impl.rs:262:18:262:22 | (...) | | file://:0:0:0:0 | & | | blanket_impl.rs:262:18:262:22 | (...) | &T | blanket_impl.rs:191:5:192:14 | S2 | +| blanket_impl.rs:262:18:262:27 | ... .m4() | | file://:0:0:0:0 | () | | blanket_impl.rs:262:19:262:21 | &S2 | | file://:0:0:0:0 | & | | blanket_impl.rs:262:19:262:21 | &S2 | &T | blanket_impl.rs:191:5:192:14 | S2 | | blanket_impl.rs:262:20:262:21 | S2 | | blanket_impl.rs:191:5:192:14 | S2 | @@ -262,39 +311,53 @@ inferType | blanket_impl.rs:273:31:273:35 | query | | blanket_impl.rs:273:21:273:21 | E | | blanket_impl.rs:277:21:277:25 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:277:21:277:25 | SelfParam | &T | blanket_impl.rs:276:10:276:22 | T | +| blanket_impl.rs:277:28:279:9 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:278:22:278:41 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:278:22:278:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:278:22:278:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:278:22:278:41 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:281:24:281:28 | SelfParam | | file://:0:0:0:0 | & | | blanket_impl.rs:281:24:281:28 | SelfParam | &T | blanket_impl.rs:276:10:276:22 | T | | blanket_impl.rs:281:31:281:36 | _query | | blanket_impl.rs:281:21:281:21 | E | +| blanket_impl.rs:281:42:283:9 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | | file://:0:0:0:0 | & | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:282:22:282:41 | ...::_print(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:282:22:282:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | blanket_impl.rs:282:22:282:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| blanket_impl.rs:282:22:282:41 | { ... } | | file://:0:0:0:0 | () | +| blanket_impl.rs:290:16:300:5 | { ... } | | file://:0:0:0:0 | () | | blanket_impl.rs:291:13:291:13 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:291:17:291:34 | MySqlConnection {...} | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:293:9:293:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:293:9:293:20 | c.execute1() | | file://:0:0:0:0 | () | +| blanket_impl.rs:294:9:294:37 | ...::execute1(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:294:35:294:36 | &c | | file://:0:0:0:0 | & | | blanket_impl.rs:294:35:294:36 | &c | &T | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:294:36:294:36 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:296:9:296:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:296:9:296:41 | c.execute2(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:296:20:296:40 | "SELECT * FROM users" | | file://:0:0:0:0 | & | | blanket_impl.rs:296:20:296:40 | "SELECT * FROM users" | &T | {EXTERNAL LOCATION} | str | | blanket_impl.rs:297:9:297:9 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | +| blanket_impl.rs:297:9:297:49 | c.execute2(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:297:28:297:48 | "SELECT * FROM users" | | file://:0:0:0:0 | & | | blanket_impl.rs:297:28:297:48 | "SELECT * FROM users" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:298:9:298:60 | ...::execute2(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:298:35:298:36 | &c | | file://:0:0:0:0 | & | | blanket_impl.rs:298:35:298:36 | &c | &T | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:298:36:298:36 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:298:39:298:59 | "SELECT * FROM users" | | file://:0:0:0:0 | & | | blanket_impl.rs:298:39:298:59 | "SELECT * FROM users" | &T | {EXTERNAL LOCATION} | str | +| blanket_impl.rs:299:9:299:68 | ...::execute2::<...>(...) | | file://:0:0:0:0 | () | | blanket_impl.rs:299:43:299:44 | &c | | file://:0:0:0:0 | & | | blanket_impl.rs:299:43:299:44 | &c | &T | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:299:44:299:44 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | | blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | | file://:0:0:0:0 | & | | blanket_impl.rs:299:47:299:67 | "SELECT * FROM users" | &T | {EXTERNAL LOCATION} | str | +| closure.rs:4:19:31:5 | { ... } | | file://:0:0:0:0 | () | | closure.rs:6:13:6:22 | my_closure | | {EXTERNAL LOCATION} | dyn FnOnce | | closure.rs:6:13:6:22 | my_closure | dyn(Args) | file://:0:0:0:0 | (T_2) | | closure.rs:6:13:6:22 | my_closure | dyn(Args).0(2) | {EXTERNAL LOCATION} | bool | @@ -397,11 +460,13 @@ inferType | closure.rs:30:25:30:32 | id2(...) | | {EXTERNAL LOCATION} | bool | | closure.rs:30:29:30:31 | arg | | {EXTERNAL LOCATION} | bool | | closure.rs:35:44:35:44 | f | | closure.rs:35:20:35:41 | F | +| closure.rs:35:50:37:5 | { ... } | | file://:0:0:0:0 | () | | closure.rs:36:13:36:19 | _return | | {EXTERNAL LOCATION} | i64 | | closure.rs:36:23:36:23 | f | | closure.rs:35:20:35:41 | F | | closure.rs:36:23:36:29 | f(...) | | {EXTERNAL LOCATION} | i64 | | closure.rs:36:25:36:28 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:39:46:39:46 | f | | closure.rs:39:22:39:43 | F | +| closure.rs:39:52:42:5 | { ... } | | file://:0:0:0:0 | () | | closure.rs:40:13:40:15 | arg | | {EXTERNAL LOCATION} | bool | | closure.rs:40:19:40:36 | ...::default(...) | | {EXTERNAL LOCATION} | bool | | closure.rs:41:9:41:9 | f | | closure.rs:39:22:39:43 | F | @@ -419,6 +484,7 @@ inferType | closure.rs:49:9:49:12 | f(...) | | {EXTERNAL LOCATION} | i64 | | closure.rs:49:11:49:11 | 2 | | {EXTERNAL LOCATION} | i32 | | closure.rs:49:11:49:11 | 2 | | {EXTERNAL LOCATION} | i64 | +| closure.rs:52:15:64:5 | { ... } | | file://:0:0:0:0 | () | | closure.rs:53:13:53:13 | f | | {EXTERNAL LOCATION} | dyn FnOnce | | closure.rs:53:13:53:13 | f | dyn(Args) | file://:0:0:0:0 | (T_1) | | closure.rs:53:13:53:13 | f | dyn(Args).0(1) | {EXTERNAL LOCATION} | bool | @@ -479,6 +545,7 @@ inferType | closure.rs:72:30:72:30 | f | T.dyn(Args).0(1) | closure.rs:72:24:72:24 | A | | closure.rs:72:30:72:30 | f | T.dyn(Output) | closure.rs:72:27:72:27 | B | | closure.rs:72:58:72:60 | arg | | closure.rs:72:24:72:24 | A | +| closure.rs:72:66:75:5 | { ... } | | file://:0:0:0:0 | () | | closure.rs:73:13:73:15 | _r1 | | closure.rs:72:27:72:27 | B | | closure.rs:73:19:73:37 | apply_boxed(...) | | closure.rs:72:27:72:27 | B | | closure.rs:73:31:73:31 | f | | {EXTERNAL LOCATION} | Box | @@ -535,6 +602,7 @@ inferType | dereference.rs:34:10:34:13 | self | &T | dereference.rs:30:1:30:15 | S | | dereference.rs:34:10:34:13 | self | &T.T | dereference.rs:32:6:32:6 | T | | dereference.rs:34:10:34:15 | self.0 | | dereference.rs:32:6:32:6 | T | +| dereference.rs:38:39:50:1 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:40:9:40:10 | a1 | | dereference.rs:4:1:6:1 | MyIntPointer | | dereference.rs:40:14:40:42 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | | dereference.rs:40:36:40:40 | 34i64 | | {EXTERNAL LOCATION} | i64 | @@ -557,6 +625,7 @@ inferType | dereference.rs:49:15:49:33 | ... .is_positive() | | {EXTERNAL LOCATION} | bool | | dereference.rs:49:16:49:18 | * ... | | {EXTERNAL LOCATION} | i64 | | dereference.rs:49:17:49:18 | a3 | | dereference.rs:4:1:6:1 | MyIntPointer | +| dereference.rs:52:39:64:1 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:54:9:54:10 | c1 | | dereference.rs:17:1:19:1 | MySmartPointer | | dereference.rs:54:9:54:10 | c1 | T | {EXTERNAL LOCATION} | char | | dereference.rs:54:14:54:42 | MySmartPointer {...} | | dereference.rs:17:1:19:1 | MySmartPointer | @@ -588,6 +657,7 @@ inferType | dereference.rs:63:16:63:18 | * ... | | {EXTERNAL LOCATION} | i64 | | dereference.rs:63:17:63:18 | c3 | | dereference.rs:17:1:19:1 | MySmartPointer | | dereference.rs:63:17:63:18 | c3 | T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:66:31:78:1 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:68:9:68:10 | e1 | | file://:0:0:0:0 | & | | dereference.rs:68:9:68:10 | e1 | &T | {EXTERNAL LOCATION} | char | | dereference.rs:68:14:68:17 | &'a' | | file://:0:0:0:0 | & | @@ -619,6 +689,7 @@ inferType | dereference.rs:77:16:77:18 | * ... | | {EXTERNAL LOCATION} | i64 | | dereference.rs:77:17:77:18 | e3 | | file://:0:0:0:0 | & | | dereference.rs:77:17:77:18 | e3 | &T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:80:31:92:1 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:82:9:82:10 | g1 | | {EXTERNAL LOCATION} | Box | | dereference.rs:82:9:82:10 | g1 | A | {EXTERNAL LOCATION} | Global | | dereference.rs:82:9:82:10 | g1 | T | {EXTERNAL LOCATION} | char | @@ -659,6 +730,7 @@ inferType | dereference.rs:91:17:91:18 | g3 | | {EXTERNAL LOCATION} | Box | | dereference.rs:91:17:91:18 | g3 | A | {EXTERNAL LOCATION} | Global | | dereference.rs:91:17:91:18 | g3 | T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:94:27:105:1 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:96:9:96:9 | x | | dereference.rs:4:1:6:1 | MyIntPointer | | dereference.rs:96:13:96:41 | MyIntPointer {...} | | dereference.rs:4:1:6:1 | MyIntPointer | | dereference.rs:96:35:96:39 | 34i64 | | {EXTERNAL LOCATION} | i64 | @@ -682,6 +754,7 @@ inferType | dereference.rs:104:14:104:14 | z | | dereference.rs:17:1:19:1 | MySmartPointer | | dereference.rs:104:14:104:14 | z | T | dereference.rs:30:1:30:15 | S | | dereference.rs:104:14:104:14 | z | T.T | {EXTERNAL LOCATION} | i64 | +| dereference.rs:131:19:139:5 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:132:17:132:26 | key_to_key | | {EXTERNAL LOCATION} | HashMap | | dereference.rs:132:17:132:26 | key_to_key | K | file://:0:0:0:0 | & | | dereference.rs:132:17:132:26 | key_to_key | K.&T | dereference.rs:110:5:111:21 | Key | @@ -703,6 +776,7 @@ inferType | dereference.rs:133:23:133:29 | &... | &T | file://:0:0:0:0 | & | | dereference.rs:133:23:133:29 | &... | &T.&T | dereference.rs:110:5:111:21 | Key | | dereference.rs:133:24:133:29 | Key {...} | | dereference.rs:110:5:111:21 | Key | +| dereference.rs:134:9:137:9 | if ... {...} | | file://:0:0:0:0 | () | | dereference.rs:134:16:134:28 | Some(...) | | {EXTERNAL LOCATION} | Option | | dereference.rs:134:16:134:28 | Some(...) | T | file://:0:0:0:0 | & | | dereference.rs:134:16:134:28 | Some(...) | T.&T | dereference.rs:110:5:111:21 | Key | @@ -727,6 +801,7 @@ inferType | dereference.rs:134:47:134:49 | key | &T | dereference.rs:110:5:111:21 | Key | | dereference.rs:134:47:134:49 | key | &T | file://:0:0:0:0 | & | | dereference.rs:134:47:134:49 | key | &T.&T | dereference.rs:110:5:111:21 | Key | +| dereference.rs:134:52:137:9 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:136:13:136:15 | key | | file://:0:0:0:0 | & | | dereference.rs:136:13:136:15 | key | &T | dereference.rs:110:5:111:21 | Key | | dereference.rs:136:13:136:15 | key | &T | file://:0:0:0:0 | & | @@ -778,6 +853,7 @@ inferType | dereference.rs:176:42:178:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | dereference.rs:177:13:177:14 | 42 | | {EXTERNAL LOCATION} | i32 | | dereference.rs:177:13:177:14 | 42 | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:181:19:188:5 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:182:13:182:13 | x | | dereference.rs:147:5:147:13 | S | | dereference.rs:182:13:182:13 | x | | {EXTERNAL LOCATION} | i64 | | dereference.rs:182:17:182:20 | (...) | | file://:0:0:0:0 | & | @@ -821,19 +897,40 @@ inferType | dereference.rs:196:16:196:20 | SelfParam | &T | dereference.rs:195:5:197:5 | Self [trait Bar] | | dereference.rs:201:16:201:24 | SelfParam | | file://:0:0:0:0 | & | | dereference.rs:201:16:201:24 | SelfParam | &T | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:201:27:203:9 | { ... } | | file://:0:0:0:0 | () | +| dereference.rs:202:13:202:39 | MacroExpr | | file://:0:0:0:0 | () | | dereference.rs:202:22:202:38 | "In struct impl!\\n" | | file://:0:0:0:0 | & | | dereference.rs:202:22:202:38 | "In struct impl!\\n" | &T | {EXTERNAL LOCATION} | str | +| dereference.rs:202:22:202:38 | ...::_print(...) | | file://:0:0:0:0 | () | | dereference.rs:202:22:202:38 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| dereference.rs:202:22:202:38 | MacroBlockExpr | | file://:0:0:0:0 | () | | dereference.rs:202:22:202:38 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| dereference.rs:202:22:202:38 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:208:16:208:20 | SelfParam | | file://:0:0:0:0 | & | | dereference.rs:208:16:208:20 | SelfParam | &T | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:208:23:210:9 | { ... } | | file://:0:0:0:0 | () | +| dereference.rs:209:13:209:38 | MacroExpr | | file://:0:0:0:0 | () | | dereference.rs:209:22:209:37 | "In trait impl!\\n" | | file://:0:0:0:0 | & | | dereference.rs:209:22:209:37 | "In trait impl!\\n" | &T | {EXTERNAL LOCATION} | str | +| dereference.rs:209:22:209:37 | ...::_print(...) | | file://:0:0:0:0 | () | | dereference.rs:209:22:209:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| dereference.rs:209:22:209:37 | MacroBlockExpr | | file://:0:0:0:0 | () | | dereference.rs:209:22:209:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| dereference.rs:209:22:209:37 | { ... } | | file://:0:0:0:0 | () | +| dereference.rs:213:19:216:5 | { ... } | | file://:0:0:0:0 | () | | dereference.rs:214:17:214:17 | f | | dereference.rs:193:5:193:17 | Foo | | dereference.rs:214:21:214:26 | Foo {...} | | dereference.rs:193:5:193:17 | Foo | | dereference.rs:215:9:215:9 | f | | dereference.rs:193:5:193:17 | Foo | +| dereference.rs:215:9:215:15 | f.bar() | | file://:0:0:0:0 | () | +| dereference.rs:219:15:228:1 | { ... } | | file://:0:0:0:0 | () | +| dereference.rs:220:5:220:38 | explicit_monomorphic_dereference(...) | | file://:0:0:0:0 | () | +| dereference.rs:221:5:221:38 | explicit_polymorphic_dereference(...) | | file://:0:0:0:0 | () | +| dereference.rs:222:5:222:30 | explicit_ref_dereference(...) | | file://:0:0:0:0 | () | +| dereference.rs:223:5:223:30 | explicit_box_dereference(...) | | file://:0:0:0:0 | () | +| dereference.rs:224:5:224:26 | implicit_dereference(...) | | file://:0:0:0:0 | () | +| dereference.rs:225:5:225:41 | ...::test(...) | | file://:0:0:0:0 | () | +| dereference.rs:226:5:226:26 | ...::test(...) | | file://:0:0:0:0 | () | +| dereference.rs:227:5:227:34 | ...::main(...) | | file://:0:0:0:0 | () | | dyn_type.rs:7:10:7:14 | SelfParam | | file://:0:0:0:0 | & | | dyn_type.rs:7:10:7:14 | SelfParam | &T | dyn_type.rs:5:1:8:1 | Self [trait MyTrait1] | | dyn_type.rs:12:12:12:16 | SelfParam | | file://:0:0:0:0 | & | @@ -901,6 +998,7 @@ inferType | dyn_type.rs:61:33:61:33 | a | | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:64:25:64:27 | obj | | file://:0:0:0:0 | & | | dyn_type.rs:64:25:64:27 | obj | &T | dyn_type.rs:5:1:8:1 | dyn MyTrait1 | +| dyn_type.rs:64:45:66:1 | { ... } | | file://:0:0:0:0 | () | | dyn_type.rs:65:9:65:15 | _result | | {EXTERNAL LOCATION} | String | | dyn_type.rs:65:19:65:24 | (...) | | dyn_type.rs:5:1:8:1 | dyn MyTrait1 | | dyn_type.rs:65:19:65:28 | ... .m() | | {EXTERNAL LOCATION} | String | @@ -910,6 +1008,7 @@ inferType | dyn_type.rs:68:27:68:29 | obj | | file://:0:0:0:0 | & | | dyn_type.rs:68:27:68:29 | obj | &T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:68:27:68:29 | obj | &T.dyn(A) | {EXTERNAL LOCATION} | String | +| dyn_type.rs:68:57:71:1 | { ... } | | file://:0:0:0:0 | () | | dyn_type.rs:69:9:69:16 | _result1 | | {EXTERNAL LOCATION} | String | | dyn_type.rs:69:20:69:25 | (...) | | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:69:20:69:25 | (...) | dyn(A) | {EXTERNAL LOCATION} | String | @@ -924,6 +1023,7 @@ inferType | dyn_type.rs:70:26:70:28 | obj | | file://:0:0:0:0 | & | | dyn_type.rs:70:26:70:28 | obj | &T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:70:26:70:28 | obj | &T.dyn(A) | {EXTERNAL LOCATION} | String | +| dyn_type.rs:73:26:76:1 | { ... } | | file://:0:0:0:0 | () | | dyn_type.rs:74:9:74:11 | obj | | {EXTERNAL LOCATION} | Box | | dyn_type.rs:74:9:74:11 | obj | A | {EXTERNAL LOCATION} | Global | | dyn_type.rs:74:9:74:11 | obj | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | @@ -971,6 +1071,7 @@ inferType | dyn_type.rs:86:20:86:22 | obj | &T | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:86:20:86:22 | obj | &T.dyn(AP) | {EXTERNAL LOCATION} | bool | | dyn_type.rs:86:20:86:22 | obj | &T.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:86:58:99:1 | { ... } | | file://:0:0:0:0 | () | | dyn_type.rs:87:9:90:5 | TuplePat | | file://:0:0:0:0 | (T_2) | | dyn_type.rs:87:9:90:5 | TuplePat | 0(2) | {EXTERNAL LOCATION} | i64 | | dyn_type.rs:87:9:90:5 | TuplePat | 1(2) | {EXTERNAL LOCATION} | bool | @@ -1013,11 +1114,14 @@ inferType | dyn_type.rs:98:19:98:21 | obj | &T | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:98:19:98:21 | obj | &T.dyn(AP) | {EXTERNAL LOCATION} | bool | | dyn_type.rs:98:19:98:21 | obj | &T.dyn(GP) | {EXTERNAL LOCATION} | i64 | +| dyn_type.rs:101:15:108:1 | { ... } | | file://:0:0:0:0 | () | +| dyn_type.rs:102:5:102:49 | test_basic_dyn_trait(...) | | file://:0:0:0:0 | () | | dyn_type.rs:102:26:102:48 | &... | | file://:0:0:0:0 | & | | dyn_type.rs:102:26:102:48 | &... | &T | dyn_type.rs:5:1:8:1 | dyn MyTrait1 | | dyn_type.rs:102:26:102:48 | &... | &T | dyn_type.rs:21:1:24:1 | MyStruct | | dyn_type.rs:102:27:102:48 | MyStruct {...} | | dyn_type.rs:21:1:24:1 | MyStruct | | dyn_type.rs:102:45:102:46 | 42 | | {EXTERNAL LOCATION} | i32 | +| dyn_type.rs:103:5:105:6 | test_generic_dyn_trait(...) | | file://:0:0:0:0 | () | | dyn_type.rs:103:28:105:5 | &... | | file://:0:0:0:0 | & | | dyn_type.rs:103:28:105:5 | &... | &T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:103:28:105:5 | &... | &T | dyn_type.rs:33:1:36:1 | GenStruct | @@ -1028,6 +1132,8 @@ inferType | dyn_type.rs:104:16:104:17 | "" | | file://:0:0:0:0 | & | | dyn_type.rs:104:16:104:17 | "" | &T | {EXTERNAL LOCATION} | str | | dyn_type.rs:104:16:104:29 | "".to_string() | | {EXTERNAL LOCATION} | String | +| dyn_type.rs:106:5:106:25 | test_poly_dyn_trait(...) | | file://:0:0:0:0 | () | +| dyn_type.rs:107:5:107:46 | test_assoc_type(...) | | file://:0:0:0:0 | () | | dyn_type.rs:107:21:107:45 | &... | | file://:0:0:0:0 | & | | dyn_type.rs:107:21:107:45 | &... | &T | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:107:21:107:45 | &... | &T | dyn_type.rs:33:1:36:1 | GenStruct | @@ -1038,8 +1144,11 @@ inferType | dyn_type.rs:107:22:107:45 | GenStruct {...} | A | {EXTERNAL LOCATION} | i32 | | dyn_type.rs:107:41:107:43 | 100 | | {EXTERNAL LOCATION} | i32 | | invalid/main.rs:8:16:8:19 | SelfParam | | invalid/main.rs:7:5:9:5 | Self [trait T1] | +| invalid/main.rs:8:22:8:23 | { ... } | | file://:0:0:0:0 | () | | invalid/main.rs:12:16:12:19 | SelfParam | | invalid/main.rs:11:5:15:5 | Self [trait T2] | +| invalid/main.rs:12:22:14:9 | { ... } | | file://:0:0:0:0 | () | | invalid/main.rs:13:13:13:16 | self | | invalid/main.rs:11:5:15:5 | Self [trait T2] | +| invalid/main.rs:13:13:13:22 | self.foo() | | file://:0:0:0:0 | () | | invalid/main.rs:25:22:25:25 | SelfParam | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | | invalid/main.rs:25:28:25:32 | other | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | | invalid/main.rs:29:22:29:25 | SelfParam | | invalid/main.rs:21:5:22:20 | Num | @@ -1057,6 +1166,7 @@ inferType | invalid/main.rs:40:13:40:16 | self | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:40:13:40:33 | self.add_alias(...) | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:40:28:40:32 | other | | invalid/main.rs:35:10:35:20 | T | +| invalid/main.rs:44:30:49:5 | { ... } | | file://:0:0:0:0 | () | | invalid/main.rs:45:13:45:13 | a | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:45:17:45:22 | Num(...) | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:45:21:45:21 | 5 | | {EXTERNAL LOCATION} | i32 | @@ -1089,29 +1199,37 @@ inferType | invalid/main.rs:84:13:84:16 | self | | file://:0:0:0:0 | & | | invalid/main.rs:84:13:84:16 | self | &T | invalid/main.rs:81:10:81:18 | T | | invalid/main.rs:84:13:84:25 | self.clone1() | | invalid/main.rs:81:10:81:18 | T | +| invalid/main.rs:88:33:92:5 | { ... } | | file://:0:0:0:0 | () | | invalid/main.rs:91:13:91:13 | x | | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:91:17:91:18 | S1 | | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:91:17:91:30 | S1.duplicate() | | invalid/main.rs:53:5:54:14 | S1 | +| main.rs:25:30:28:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:26:13:26:13 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing | | main.rs:26:30:26:30 | S | | main.rs:3:5:4:13 | S | | main.rs:27:18:27:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:27:18:27:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:27:18:27:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:27:18:27:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:27:18:27:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:27:18:27:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:27:26:27:28 | x.a | | main.rs:3:5:4:13 | S | | main.rs:30:29:30:29 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:30:29:30:29 | x | A | {EXTERNAL LOCATION} | bool | +| main.rs:30:46:33:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:31:13:31:13 | a | | {EXTERNAL LOCATION} | bool | | main.rs:31:17:31:17 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:31:17:31:17 | x | A | {EXTERNAL LOCATION} | bool | | main.rs:31:17:31:19 | x.a | | {EXTERNAL LOCATION} | bool | | main.rs:32:18:32:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:32:18:32:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:32:18:32:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:32:18:32:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:32:18:32:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:32:18:32:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:32:26:32:26 | a | | {EXTERNAL LOCATION} | bool | +| main.rs:35:31:63:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:37:13:37:13 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:37:13:37:13 | x | A | main.rs:3:5:4:13 | S | | main.rs:37:17:37:42 | GenericThing::<...> {...} | | main.rs:16:5:19:5 | GenericThing | @@ -1119,8 +1237,10 @@ inferType | main.rs:37:40:37:40 | S | | main.rs:3:5:4:13 | S | | main.rs:38:18:38:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:38:18:38:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:38:18:38:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:38:18:38:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:38:18:38:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:38:18:38:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:38:26:38:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:38:26:38:26 | x | A | main.rs:3:5:4:13 | S | | main.rs:38:26:38:28 | x.a | | main.rs:3:5:4:13 | S | @@ -1131,8 +1251,10 @@ inferType | main.rs:41:35:41:35 | S | | main.rs:3:5:4:13 | S | | main.rs:42:18:42:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:42:18:42:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:42:18:42:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:42:18:42:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:42:18:42:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:42:18:42:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:42:26:42:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:42:26:42:26 | x | A | main.rs:3:5:4:13 | S | | main.rs:42:26:42:28 | x.a | | main.rs:3:5:4:13 | S | @@ -1142,8 +1264,10 @@ inferType | main.rs:47:16:47:33 | ...::MyNone(...) | T | main.rs:3:5:4:13 | S | | main.rs:49:18:49:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:49:18:49:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:49:18:49:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:49:18:49:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:49:18:49:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:49:18:49:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:49:26:49:26 | x | | main.rs:21:5:23:5 | OptionS | | main.rs:49:26:49:28 | x.a | | main.rs:10:5:14:5 | MyOption | | main.rs:49:26:49:28 | x.a | T | main.rs:3:5:4:13 | S | @@ -1157,8 +1281,10 @@ inferType | main.rs:53:16:53:33 | ...::MyNone(...) | T | main.rs:3:5:4:13 | S | | main.rs:55:18:55:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:55:18:55:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:55:18:55:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:55:18:55:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:55:18:55:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:55:18:55:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:55:26:55:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:55:26:55:26 | x | A | main.rs:10:5:14:5 | MyOption | | main.rs:55:26:55:26 | x | A.T | main.rs:3:5:4:13 | S | @@ -1181,10 +1307,15 @@ inferType | main.rs:61:30:61:32 | x.a | T | main.rs:3:5:4:13 | S | | main.rs:62:18:62:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:62:18:62:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:62:18:62:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:62:18:62:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:62:18:62:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:62:18:62:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:62:26:62:26 | a | | main.rs:10:5:14:5 | MyOption | | main.rs:62:26:62:26 | a | T | main.rs:3:5:4:13 | S | +| main.rs:65:16:68:5 | { ... } | | file://:0:0:0:0 | () | +| main.rs:66:9:66:29 | simple_field_access(...) | | file://:0:0:0:0 | () | +| main.rs:67:9:67:30 | generic_field_access(...) | | file://:0:0:0:0 | () | | main.rs:75:19:75:22 | SelfParam | | main.rs:72:5:72:21 | Foo | | main.rs:75:33:77:9 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:76:13:76:16 | self | | main.rs:72:5:72:21 | Foo | @@ -1194,8 +1325,10 @@ inferType | main.rs:84:23:89:5 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | | file://:0:0:0:0 | & | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:85:18:85:33 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:85:18:85:33 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:85:18:85:33 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:85:18:85:33 | { ... } | | file://:0:0:0:0 | () | | main.rs:86:13:86:13 | x | | main.rs:72:5:72:21 | Foo | | main.rs:86:17:86:22 | Foo {...} | | main.rs:72:5:72:21 | Foo | | main.rs:87:13:87:13 | y | | main.rs:72:5:72:21 | Foo | @@ -1206,8 +1339,10 @@ inferType | main.rs:91:37:95:5 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | | file://:0:0:0:0 | & | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:92:18:92:33 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:92:18:92:33 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:92:18:92:33 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:92:18:92:33 | { ... } | | file://:0:0:0:0 | () | | main.rs:93:9:93:9 | x | | main.rs:72:5:72:21 | Foo | | main.rs:93:9:93:14 | x.m1() | | main.rs:72:5:72:21 | Foo | | main.rs:94:9:94:9 | y | | main.rs:72:5:72:21 | Foo | @@ -1217,6 +1352,7 @@ inferType | main.rs:110:39:112:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:111:13:111:16 | self | | main.rs:99:5:102:5 | MyThing | | main.rs:111:13:111:22 | self.field | | {EXTERNAL LOCATION} | bool | +| main.rs:115:16:121:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:116:13:116:13 | x | | main.rs:99:5:102:5 | MyThing | | main.rs:116:17:116:39 | MyThing {...} | | main.rs:99:5:102:5 | MyThing | | main.rs:116:34:116:37 | true | | {EXTERNAL LOCATION} | bool | @@ -1231,24 +1367,40 @@ inferType | main.rs:120:39:120:39 | y | | main.rs:99:5:102:5 | MyThing | | main.rs:130:25:130:29 | SelfParam | | file://:0:0:0:0 | & | | main.rs:130:25:130:29 | SelfParam | &T | main.rs:128:9:133:9 | Self [trait Foo] | +| main.rs:130:32:132:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:131:26:131:31 | "foo!\\n" | | file://:0:0:0:0 | & | | main.rs:131:26:131:31 | "foo!\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:131:26:131:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:131:26:131:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:131:26:131:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:131:26:131:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:137:25:137:29 | SelfParam | | file://:0:0:0:0 | & | | main.rs:137:25:137:29 | SelfParam | &T | main.rs:135:9:140:9 | Self [trait Bar] | +| main.rs:137:32:139:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:138:26:138:31 | "bar!\\n" | | file://:0:0:0:0 | & | | main.rs:138:26:138:31 | "bar!\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:138:26:138:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:138:26:138:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:138:26:138:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:138:26:138:31 | { ... } | | file://:0:0:0:0 | () | +| main.rs:149:15:170:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:150:13:150:13 | x | | main.rs:142:9:142:21 | X | | main.rs:150:17:150:17 | X | | main.rs:142:9:142:21 | X | +| main.rs:151:9:154:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:153:13:153:13 | x | | main.rs:142:9:142:21 | X | +| main.rs:153:13:153:24 | x.a_method() | | file://:0:0:0:0 | () | +| main.rs:155:9:158:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:157:13:157:13 | x | | main.rs:142:9:142:21 | X | +| main.rs:157:13:157:24 | x.a_method() | | file://:0:0:0:0 | () | +| main.rs:159:9:162:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:161:13:161:13 | x | | main.rs:142:9:142:21 | X | +| main.rs:161:13:161:24 | x.a_method() | | file://:0:0:0:0 | () | +| main.rs:163:9:169:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:167:13:167:29 | ...::a_method(...) | | file://:0:0:0:0 | () | | main.rs:167:27:167:28 | &x | | file://:0:0:0:0 | & | | main.rs:167:27:167:28 | &x | &T | main.rs:142:9:142:21 | X | | main.rs:167:28:167:28 | x | | main.rs:142:9:142:21 | X | +| main.rs:168:13:168:29 | ...::a_method(...) | | file://:0:0:0:0 | () | | main.rs:168:27:168:28 | &x | | file://:0:0:0:0 | & | | main.rs:168:27:168:28 | &x | &T | main.rs:142:9:142:21 | X | | main.rs:168:28:168:28 | x | | main.rs:142:9:142:21 | X | @@ -1273,6 +1425,7 @@ inferType | main.rs:200:13:200:16 | self | | main.rs:174:5:177:5 | MyThing | | main.rs:200:13:200:16 | self | A | main.rs:198:10:198:10 | T | | main.rs:200:13:200:18 | self.a | | main.rs:198:10:198:10 | T | +| main.rs:204:16:220:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:205:13:205:13 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:205:13:205:13 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:205:17:205:33 | MyThing {...} | | main.rs:174:5:177:5 | MyThing | @@ -1285,29 +1438,37 @@ inferType | main.rs:206:30:206:31 | S2 | | main.rs:181:5:182:14 | S2 | | main.rs:209:18:209:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:209:18:209:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:209:18:209:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:209:18:209:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:209:18:209:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:209:18:209:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:209:26:209:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:209:26:209:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:209:26:209:28 | x.a | | main.rs:179:5:180:14 | S1 | | main.rs:210:18:210:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:210:18:210:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:210:18:210:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:210:18:210:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:210:18:210:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:210:18:210:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:210:26:210:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:210:26:210:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:210:26:210:28 | y.a | | main.rs:181:5:182:14 | S2 | | main.rs:212:18:212:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:212:18:212:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:212:18:212:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:212:18:212:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:212:18:212:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:212:18:212:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:212:26:212:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:212:26:212:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:212:26:212:31 | x.m1() | | main.rs:179:5:180:14 | S1 | | main.rs:213:18:213:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:213:18:213:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:213:18:213:33 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:213:18:213:33 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:213:18:213:33 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:213:18:213:33 | { ... } | | file://:0:0:0:0 | () | | main.rs:213:26:213:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:213:26:213:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:213:26:213:31 | y.m1() | | main.rs:174:5:177:5 | MyThing | @@ -1325,15 +1486,19 @@ inferType | main.rs:216:30:216:31 | S2 | | main.rs:181:5:182:14 | S2 | | main.rs:218:18:218:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:218:18:218:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:218:18:218:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:218:18:218:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:218:18:218:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:218:18:218:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:218:26:218:26 | x | | main.rs:174:5:177:5 | MyThing | | main.rs:218:26:218:26 | x | A | main.rs:179:5:180:14 | S1 | | main.rs:218:26:218:31 | x.m2() | | main.rs:179:5:180:14 | S1 | | main.rs:219:18:219:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:219:18:219:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:219:18:219:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:219:18:219:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:219:18:219:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:219:18:219:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:219:26:219:26 | y | | main.rs:174:5:177:5 | MyThing | | main.rs:219:26:219:26 | y | A | main.rs:181:5:182:14 | S2 | | main.rs:219:26:219:31 | y.m2() | | main.rs:181:5:182:14 | S2 | @@ -1457,6 +1622,7 @@ inferType | main.rs:366:73:369:5 | { ... } | | main.rs:235:5:236:14 | S1 | | main.rs:368:9:368:13 | thing | | main.rs:366:39:366:53 | TP | | main.rs:368:9:368:26 | thing.convert_to() | | main.rs:235:5:236:14 | S1 | +| main.rs:371:16:442:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:372:13:372:20 | thing_s1 | | main.rs:224:5:227:5 | MyThing | | main.rs:372:13:372:20 | thing_s1 | A | main.rs:235:5:236:14 | S1 | | main.rs:372:24:372:40 | MyThing {...} | | main.rs:224:5:227:5 | MyThing | @@ -1474,15 +1640,19 @@ inferType | main.rs:374:37:374:38 | S3 | | main.rs:239:5:240:14 | S3 | | main.rs:378:18:378:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:378:18:378:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:378:18:378:38 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:378:18:378:38 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:378:18:378:38 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:378:18:378:38 | { ... } | | file://:0:0:0:0 | () | | main.rs:378:26:378:33 | thing_s1 | | main.rs:224:5:227:5 | MyThing | | main.rs:378:26:378:33 | thing_s1 | A | main.rs:235:5:236:14 | S1 | | main.rs:378:26:378:38 | thing_s1.m1() | | main.rs:235:5:236:14 | S1 | | main.rs:379:18:379:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:379:18:379:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:379:18:379:40 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:379:18:379:40 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:379:18:379:40 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:379:18:379:40 | { ... } | | file://:0:0:0:0 | () | | main.rs:379:26:379:33 | thing_s2 | | main.rs:224:5:227:5 | MyThing | | main.rs:379:26:379:33 | thing_s2 | A | main.rs:237:5:238:14 | S2 | | main.rs:379:26:379:38 | thing_s2.m1() | | main.rs:224:5:227:5 | MyThing | @@ -1494,8 +1664,10 @@ inferType | main.rs:380:22:380:34 | thing_s3.m1() | | main.rs:239:5:240:14 | S3 | | main.rs:381:18:381:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:381:18:381:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:381:18:381:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:381:18:381:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:381:18:381:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:381:18:381:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:381:26:381:27 | s3 | | main.rs:239:5:240:14 | S3 | | main.rs:383:13:383:14 | p1 | | main.rs:229:5:233:5 | MyPair | | main.rs:383:13:383:14 | p1 | P1 | main.rs:235:5:236:14 | S1 | @@ -1507,8 +1679,10 @@ inferType | main.rs:383:39:383:40 | S1 | | main.rs:235:5:236:14 | S1 | | main.rs:384:18:384:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:384:18:384:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:384:18:384:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:384:18:384:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:384:18:384:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:384:18:384:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:384:26:384:27 | p1 | | main.rs:229:5:233:5 | MyPair | | main.rs:384:26:384:27 | p1 | P1 | main.rs:235:5:236:14 | S1 | | main.rs:384:26:384:27 | p1 | P2 | main.rs:235:5:236:14 | S1 | @@ -1523,8 +1697,10 @@ inferType | main.rs:386:39:386:40 | S2 | | main.rs:237:5:238:14 | S2 | | main.rs:387:18:387:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:387:18:387:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:387:18:387:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:387:18:387:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:387:18:387:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:387:18:387:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:387:26:387:27 | p2 | | main.rs:229:5:233:5 | MyPair | | main.rs:387:26:387:27 | p2 | P1 | main.rs:235:5:236:14 | S1 | | main.rs:387:26:387:27 | p2 | P2 | main.rs:237:5:238:14 | S2 | @@ -1543,8 +1719,10 @@ inferType | main.rs:391:17:391:18 | S3 | | main.rs:239:5:240:14 | S3 | | main.rs:393:18:393:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:393:18:393:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:393:18:393:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:393:18:393:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:393:18:393:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:393:18:393:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:393:26:393:27 | p3 | | main.rs:229:5:233:5 | MyPair | | main.rs:393:26:393:27 | p3 | P1 | main.rs:224:5:227:5 | MyThing | | main.rs:393:26:393:27 | p3 | P1.A | main.rs:235:5:236:14 | S1 | @@ -1565,8 +1743,10 @@ inferType | main.rs:397:17:397:23 | a.fst() | | main.rs:235:5:236:14 | S1 | | main.rs:398:18:398:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:398:18:398:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:398:18:398:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:398:18:398:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:398:18:398:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:398:18:398:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:398:26:398:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:399:13:399:13 | y | | main.rs:235:5:236:14 | S1 | | main.rs:399:17:399:17 | a | | main.rs:229:5:233:5 | MyPair | @@ -1575,8 +1755,10 @@ inferType | main.rs:399:17:399:23 | a.snd() | | main.rs:235:5:236:14 | S1 | | main.rs:400:18:400:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:400:18:400:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:400:18:400:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:400:18:400:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:400:18:400:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:400:18:400:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:400:26:400:26 | y | | main.rs:235:5:236:14 | S1 | | main.rs:406:13:406:13 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:406:13:406:13 | b | P1 | main.rs:237:5:238:14 | S2 | @@ -1593,8 +1775,10 @@ inferType | main.rs:407:17:407:23 | b.fst() | | main.rs:235:5:236:14 | S1 | | main.rs:408:18:408:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:408:18:408:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:408:18:408:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:408:18:408:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:408:18:408:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:408:18:408:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:408:26:408:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:409:13:409:13 | y | | main.rs:237:5:238:14 | S2 | | main.rs:409:17:409:17 | b | | main.rs:229:5:233:5 | MyPair | @@ -1603,8 +1787,10 @@ inferType | main.rs:409:17:409:23 | b.snd() | | main.rs:237:5:238:14 | S2 | | main.rs:410:18:410:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:410:18:410:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:410:18:410:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:410:18:410:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:410:18:410:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:410:18:410:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:410:26:410:26 | y | | main.rs:237:5:238:14 | S2 | | main.rs:414:13:414:13 | x | | main.rs:235:5:236:14 | S1 | | main.rs:414:17:414:39 | call_trait_m1(...) | | main.rs:235:5:236:14 | S1 | @@ -1612,8 +1798,10 @@ inferType | main.rs:414:31:414:38 | thing_s1 | A | main.rs:235:5:236:14 | S1 | | main.rs:415:18:415:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:415:18:415:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:415:18:415:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:415:18:415:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:415:18:415:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:415:18:415:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:415:26:415:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:416:13:416:13 | y | | main.rs:224:5:227:5 | MyThing | | main.rs:416:13:416:13 | y | A | main.rs:237:5:238:14 | S2 | @@ -1623,8 +1811,10 @@ inferType | main.rs:416:31:416:38 | thing_s2 | A | main.rs:237:5:238:14 | S2 | | main.rs:417:18:417:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:417:18:417:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:417:18:417:28 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:417:18:417:28 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:417:18:417:28 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:417:18:417:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:417:26:417:26 | y | | main.rs:224:5:227:5 | MyThing | | main.rs:417:26:417:26 | y | A | main.rs:237:5:238:14 | S2 | | main.rs:417:26:417:28 | y.a | | main.rs:237:5:238:14 | S2 | @@ -1643,8 +1833,10 @@ inferType | main.rs:421:25:421:25 | a | P2 | main.rs:235:5:236:14 | S1 | | main.rs:422:18:422:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:422:18:422:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:422:18:422:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:422:18:422:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:422:18:422:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:422:18:422:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:422:26:422:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:423:13:423:13 | y | | main.rs:235:5:236:14 | S1 | | main.rs:423:17:423:26 | get_snd(...) | | main.rs:235:5:236:14 | S1 | @@ -1653,8 +1845,10 @@ inferType | main.rs:423:25:423:25 | a | P2 | main.rs:235:5:236:14 | S1 | | main.rs:424:18:424:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:424:18:424:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:424:18:424:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:424:18:424:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:424:18:424:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:424:18:424:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:424:26:424:26 | y | | main.rs:235:5:236:14 | S1 | | main.rs:427:13:427:13 | b | | main.rs:229:5:233:5 | MyPair | | main.rs:427:13:427:13 | b | P1 | main.rs:237:5:238:14 | S2 | @@ -1671,8 +1865,10 @@ inferType | main.rs:428:25:428:25 | b | P2 | main.rs:235:5:236:14 | S1 | | main.rs:429:18:429:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:429:18:429:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:429:18:429:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:429:18:429:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:429:18:429:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:429:18:429:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:429:26:429:26 | x | | main.rs:235:5:236:14 | S1 | | main.rs:430:13:430:13 | y | | main.rs:237:5:238:14 | S2 | | main.rs:430:17:430:26 | get_snd(...) | | main.rs:237:5:238:14 | S2 | @@ -1681,8 +1877,10 @@ inferType | main.rs:430:25:430:25 | b | P2 | main.rs:235:5:236:14 | S1 | | main.rs:431:18:431:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:431:18:431:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:431:18:431:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:431:18:431:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:431:18:431:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:431:18:431:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:431:26:431:26 | y | | main.rs:237:5:238:14 | S2 | | main.rs:433:13:433:13 | c | | main.rs:229:5:233:5 | MyPair | | main.rs:433:13:433:13 | c | P1 | main.rs:239:5:240:14 | S3 | @@ -1789,35 +1987,47 @@ inferType | main.rs:534:13:534:16 | self | &T.T3 | main.rs:531:10:531:10 | T | | main.rs:540:14:540:18 | SelfParam | | file://:0:0:0:0 | & | | main.rs:540:14:540:18 | SelfParam | &T | main.rs:538:5:541:5 | Self [trait MyTrait1] | +| main.rs:540:21:540:22 | { ... } | | file://:0:0:0:0 | () | | main.rs:550:14:550:18 | SelfParam | | file://:0:0:0:0 | & | | main.rs:550:14:550:18 | SelfParam | &T | main.rs:545:5:546:14 | S4 | +| main.rs:550:21:550:22 | { ... } | | file://:0:0:0:0 | () | | main.rs:560:14:560:18 | SelfParam | | file://:0:0:0:0 | & | | main.rs:560:14:560:18 | SelfParam | &T | main.rs:555:5:556:22 | S5 | | main.rs:560:14:560:18 | SelfParam | &T.T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:560:21:560:22 | { ... } | | file://:0:0:0:0 | () | +| main.rs:569:16:595:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:570:13:570:13 | x | | main.rs:446:5:447:14 | S1 | | main.rs:570:17:570:18 | S1 | | main.rs:446:5:447:14 | S1 | | main.rs:571:18:571:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:571:18:571:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:571:18:571:42 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:571:18:571:42 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:571:18:571:42 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:571:18:571:42 | { ... } | | file://:0:0:0:0 | () | | main.rs:571:26:571:26 | x | | main.rs:446:5:447:14 | S1 | | main.rs:571:26:571:42 | x.common_method() | | main.rs:446:5:447:14 | S1 | | main.rs:572:18:572:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:572:18:572:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:572:18:572:45 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:572:18:572:45 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:572:18:572:45 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:572:18:572:45 | { ... } | | file://:0:0:0:0 | () | | main.rs:572:26:572:45 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:572:44:572:44 | x | | main.rs:446:5:447:14 | S1 | | main.rs:573:18:573:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:573:18:573:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:573:18:573:44 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:573:18:573:44 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:573:18:573:44 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:573:18:573:44 | { ... } | | file://:0:0:0:0 | () | | main.rs:573:26:573:26 | x | | main.rs:446:5:447:14 | S1 | | main.rs:573:26:573:44 | x.common_method_2() | | main.rs:446:5:447:14 | S1 | | main.rs:574:18:574:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:574:18:574:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:574:18:574:47 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:574:18:574:47 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:574:18:574:47 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:574:18:574:47 | { ... } | | file://:0:0:0:0 | () | | main.rs:574:26:574:47 | ...::common_method_2(...) | | main.rs:446:5:447:14 | S1 | | main.rs:574:46:574:46 | x | | main.rs:446:5:447:14 | S1 | | main.rs:576:13:576:13 | y | | main.rs:479:5:479:22 | S2 | @@ -1827,15 +2037,19 @@ inferType | main.rs:576:20:576:21 | S1 | | main.rs:446:5:447:14 | S1 | | main.rs:577:18:577:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:577:18:577:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:577:18:577:42 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:577:18:577:42 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:577:18:577:42 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:577:18:577:42 | { ... } | | file://:0:0:0:0 | () | | main.rs:577:26:577:26 | y | | main.rs:479:5:479:22 | S2 | | main.rs:577:26:577:26 | y | T2 | main.rs:446:5:447:14 | S1 | | main.rs:577:26:577:42 | y.common_method() | | main.rs:446:5:447:14 | S1 | | main.rs:578:18:578:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:578:18:578:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:578:18:578:56 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:578:18:578:56 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:578:18:578:56 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:578:18:578:56 | { ... } | | file://:0:0:0:0 | () | | main.rs:578:26:578:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:578:50:578:55 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:578:50:578:55 | S2(...) | T2 | main.rs:446:5:447:14 | S1 | @@ -1847,23 +2061,29 @@ inferType | main.rs:580:20:580:20 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:581:18:581:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:581:18:581:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:581:18:581:42 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:581:18:581:42 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:581:18:581:42 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:581:18:581:42 | { ... } | | file://:0:0:0:0 | () | | main.rs:581:26:581:26 | z | | main.rs:479:5:479:22 | S2 | | main.rs:581:26:581:26 | z | T2 | {EXTERNAL LOCATION} | i32 | | main.rs:581:26:581:42 | z.common_method() | | main.rs:446:5:447:14 | S1 | | main.rs:582:18:582:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:582:18:582:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:582:18:582:49 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:582:18:582:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:582:18:582:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:582:18:582:49 | { ... } | | file://:0:0:0:0 | () | | main.rs:582:26:582:49 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:582:44:582:48 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:582:44:582:48 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | | main.rs:582:47:582:47 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:583:18:583:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:583:18:583:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:583:18:583:56 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:583:18:583:56 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:583:18:583:56 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:583:18:583:56 | { ... } | | file://:0:0:0:0 | () | | main.rs:583:26:583:56 | ...::common_method(...) | | main.rs:446:5:447:14 | S1 | | main.rs:583:51:583:55 | S2(...) | | main.rs:479:5:479:22 | S2 | | main.rs:583:51:583:55 | S2(...) | T2 | {EXTERNAL LOCATION} | i32 | @@ -1875,8 +2095,10 @@ inferType | main.rs:585:20:585:21 | S1 | | main.rs:446:5:447:14 | S1 | | main.rs:586:18:586:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:586:18:586:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:586:18:586:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:586:18:586:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:586:18:586:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:586:18:586:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:586:26:586:26 | w | | main.rs:517:5:518:22 | S3 | | main.rs:586:26:586:26 | w | T3 | main.rs:446:5:447:14 | S1 | | main.rs:586:26:586:31 | w.m(...) | | file://:0:0:0:0 | & | @@ -1885,8 +2107,10 @@ inferType | main.rs:586:30:586:30 | x | | main.rs:446:5:447:14 | S1 | | main.rs:587:18:587:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:587:18:587:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:587:18:587:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:587:18:587:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:587:18:587:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:587:18:587:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:587:26:587:37 | ...::m(...) | | file://:0:0:0:0 | & | | main.rs:587:26:587:37 | ...::m(...) | &T | main.rs:517:5:518:22 | S3 | | main.rs:587:26:587:37 | ...::m(...) | &T.T3 | main.rs:446:5:447:14 | S1 | @@ -1897,12 +2121,16 @@ inferType | main.rs:587:33:587:33 | w | T3 | main.rs:446:5:447:14 | S1 | | main.rs:587:36:587:36 | x | | main.rs:446:5:447:14 | S1 | | main.rs:589:9:589:10 | S4 | | main.rs:545:5:546:14 | S4 | +| main.rs:589:9:589:14 | S4.m() | | file://:0:0:0:0 | () | +| main.rs:590:9:590:18 | ...::m(...) | | file://:0:0:0:0 | () | | main.rs:590:15:590:17 | &S4 | | file://:0:0:0:0 | & | | main.rs:590:15:590:17 | &S4 | &T | main.rs:545:5:546:14 | S4 | | main.rs:590:16:590:17 | S4 | | main.rs:545:5:546:14 | S4 | | main.rs:591:9:591:16 | S5(...) | | main.rs:555:5:556:22 | S5 | | main.rs:591:9:591:16 | S5(...) | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:591:9:591:20 | ... .m() | | file://:0:0:0:0 | () | | main.rs:591:12:591:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:592:9:592:24 | ...::m(...) | | file://:0:0:0:0 | () | | main.rs:592:15:592:23 | &... | | file://:0:0:0:0 | & | | main.rs:592:15:592:23 | &... | &T | main.rs:555:5:556:22 | S5 | | main.rs:592:15:592:23 | &... | &T.T5 | {EXTERNAL LOCATION} | i32 | @@ -1911,7 +2139,9 @@ inferType | main.rs:592:19:592:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | | main.rs:593:9:593:16 | S5(...) | | main.rs:555:5:556:22 | S5 | | main.rs:593:9:593:16 | S5(...) | T5 | {EXTERNAL LOCATION} | bool | +| main.rs:593:9:593:20 | ... .m() | | file://:0:0:0:0 | () | | main.rs:593:12:593:15 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:594:9:594:24 | ...::m(...) | | file://:0:0:0:0 | () | | main.rs:594:15:594:23 | &... | | file://:0:0:0:0 | & | | main.rs:594:15:594:23 | &... | &T | main.rs:555:5:556:22 | S5 | | main.rs:594:15:594:23 | &... | &T.T5 | {EXTERNAL LOCATION} | bool | @@ -1921,54 +2151,70 @@ inferType | main.rs:611:19:611:22 | SelfParam | | main.rs:609:5:612:5 | Self [trait FirstTrait] | | main.rs:616:19:616:22 | SelfParam | | main.rs:614:5:617:5 | Self [trait SecondTrait] | | main.rs:619:64:619:64 | x | | main.rs:619:45:619:61 | T | +| main.rs:619:70:623:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:621:13:621:14 | s1 | | main.rs:619:35:619:42 | I | | main.rs:621:18:621:18 | x | | main.rs:619:45:619:61 | T | | main.rs:621:18:621:27 | x.method() | | main.rs:619:35:619:42 | I | | main.rs:622:18:622:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:622:18:622:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:622:18:622:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:622:18:622:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:622:18:622:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:622:18:622:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:622:26:622:27 | s1 | | main.rs:619:35:619:42 | I | | main.rs:625:65:625:65 | x | | main.rs:625:46:625:62 | T | +| main.rs:625:71:629:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:627:13:627:14 | s2 | | main.rs:625:36:625:43 | I | | main.rs:627:18:627:18 | x | | main.rs:625:46:625:62 | T | | main.rs:627:18:627:27 | x.method() | | main.rs:625:36:625:43 | I | | main.rs:628:18:628:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:628:18:628:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:628:18:628:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:628:18:628:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:628:18:628:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:628:18:628:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:628:26:628:27 | s2 | | main.rs:625:36:625:43 | I | | main.rs:631:49:631:49 | x | | main.rs:631:30:631:46 | T | +| main.rs:631:55:634:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:632:13:632:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:632:17:632:17 | x | | main.rs:631:30:631:46 | T | | main.rs:632:17:632:26 | x.method() | | main.rs:601:5:602:14 | S1 | | main.rs:633:18:633:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:633:18:633:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:633:18:633:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:633:18:633:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:633:18:633:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:633:18:633:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:633:26:633:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:636:53:636:53 | x | | main.rs:636:34:636:50 | T | +| main.rs:636:59:639:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:637:13:637:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:637:17:637:17 | x | | main.rs:636:34:636:50 | T | | main.rs:637:17:637:26 | x.method() | | main.rs:601:5:602:14 | S1 | | main.rs:638:18:638:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:638:18:638:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:638:18:638:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:638:18:638:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:638:18:638:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:638:18:638:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:638:26:638:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:641:43:641:43 | x | | main.rs:641:40:641:40 | T | +| main.rs:644:5:647:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:645:13:645:13 | s | | main.rs:601:5:602:14 | S1 | | main.rs:645:17:645:17 | x | | main.rs:641:40:641:40 | T | | main.rs:645:17:645:26 | x.method() | | main.rs:601:5:602:14 | S1 | | main.rs:646:18:646:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:646:18:646:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:646:18:646:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:646:18:646:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:646:18:646:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:646:18:646:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:646:26:646:26 | s | | main.rs:601:5:602:14 | S1 | | main.rs:650:16:650:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | | main.rs:652:16:652:19 | SelfParam | | main.rs:649:5:653:5 | Self [trait Pair] | | main.rs:655:53:655:53 | x | | main.rs:655:50:655:50 | T | | main.rs:655:59:655:59 | y | | main.rs:655:50:655:50 | T | +| main.rs:659:5:662:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:660:13:660:13 | _ | | main.rs:601:5:602:14 | S1 | | main.rs:660:17:660:17 | x | | main.rs:655:50:655:50 | T | | main.rs:660:17:660:23 | x.fst() | | main.rs:601:5:602:14 | S1 | @@ -1977,6 +2223,7 @@ inferType | main.rs:661:17:661:26 | y.method() | | main.rs:601:5:602:14 | S1 | | main.rs:664:58:664:58 | x | | main.rs:664:41:664:55 | T | | main.rs:664:64:664:64 | y | | main.rs:664:41:664:55 | T | +| main.rs:664:70:669:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:666:13:666:14 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:666:18:666:18 | x | | main.rs:664:41:664:55 | T | | main.rs:666:18:666:24 | x.fst() | | main.rs:601:5:602:14 | S1 | @@ -1985,12 +2232,15 @@ inferType | main.rs:667:18:667:24 | y.snd() | | main.rs:604:5:605:14 | S2 | | main.rs:668:18:668:29 | "{:?}, {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:668:18:668:29 | "{:?}, {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:668:18:668:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:668:18:668:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:668:18:668:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:668:18:668:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:668:32:668:33 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:668:36:668:37 | s2 | | main.rs:604:5:605:14 | S2 | | main.rs:671:69:671:69 | x | | main.rs:671:52:671:66 | T | | main.rs:671:75:671:75 | y | | main.rs:671:52:671:66 | T | +| main.rs:671:81:676:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:673:13:673:14 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:673:18:673:18 | x | | main.rs:671:52:671:66 | T | | main.rs:673:18:673:24 | x.fst() | | main.rs:601:5:602:14 | S1 | @@ -1999,12 +2249,15 @@ inferType | main.rs:674:18:674:24 | y.snd() | | main.rs:671:41:671:49 | T2 | | main.rs:675:18:675:29 | "{:?}, {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:675:18:675:29 | "{:?}, {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:675:18:675:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:675:18:675:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:675:18:675:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:675:18:675:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:675:32:675:33 | s1 | | main.rs:601:5:602:14 | S1 | | main.rs:675:36:675:37 | s2 | | main.rs:671:41:671:49 | T2 | | main.rs:678:50:678:50 | x | | main.rs:678:41:678:47 | T | | main.rs:678:56:678:56 | y | | main.rs:678:41:678:47 | T | +| main.rs:678:62:683:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:680:13:680:14 | s1 | | {EXTERNAL LOCATION} | bool | | main.rs:680:18:680:18 | x | | main.rs:678:41:678:47 | T | | main.rs:680:18:680:24 | x.fst() | | {EXTERNAL LOCATION} | bool | @@ -2013,12 +2266,15 @@ inferType | main.rs:681:18:681:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | | main.rs:682:18:682:29 | "{:?}, {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:682:18:682:29 | "{:?}, {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:682:18:682:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:682:18:682:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:682:18:682:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:682:18:682:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:682:32:682:33 | s1 | | {EXTERNAL LOCATION} | bool | | main.rs:682:36:682:37 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:685:54:685:54 | x | | main.rs:685:41:685:51 | T | | main.rs:685:60:685:60 | y | | main.rs:685:41:685:51 | T | +| main.rs:685:66:690:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:687:13:687:14 | s1 | | {EXTERNAL LOCATION} | u8 | | main.rs:687:18:687:18 | x | | main.rs:685:41:685:51 | T | | main.rs:687:18:687:24 | x.fst() | | {EXTERNAL LOCATION} | u8 | @@ -2027,8 +2283,10 @@ inferType | main.rs:688:18:688:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | | main.rs:689:18:689:29 | "{:?}, {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:689:18:689:29 | "{:?}, {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:689:18:689:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:689:18:689:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:689:18:689:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:689:18:689:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:689:32:689:33 | s1 | | {EXTERNAL LOCATION} | u8 | | main.rs:689:36:689:37 | s2 | | {EXTERNAL LOCATION} | i64 | | main.rs:697:18:697:22 | SelfParam | | file://:0:0:0:0 | & | @@ -2050,6 +2308,7 @@ inferType | main.rs:707:9:707:9 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:713:55:713:59 | thing | | file://:0:0:0:0 | & | | main.rs:713:55:713:59 | thing | &T | main.rs:713:25:713:52 | S | +| main.rs:713:66:716:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:715:13:715:15 | _ms | | {EXTERNAL LOCATION} | Option | | main.rs:715:13:715:15 | _ms | T | main.rs:713:25:713:52 | S | | main.rs:715:19:715:30 | get_a(...) | | {EXTERNAL LOCATION} | Option | @@ -2066,6 +2325,7 @@ inferType | main.rs:725:36:725:39 | self | | file://:0:0:0:0 | & | | main.rs:725:36:725:39 | self | &T | main.rs:718:5:720:5 | MyStruct | | main.rs:725:36:725:45 | self.value | | {EXTERNAL LOCATION} | i32 | +| main.rs:731:19:734:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:732:13:732:13 | s | | main.rs:718:5:720:5 | MyStruct | | main.rs:732:17:732:37 | MyStruct {...} | | main.rs:718:5:720:5 | MyStruct | | main.rs:732:35:732:35 | 0 | | {EXTERNAL LOCATION} | i32 | @@ -2153,6 +2413,7 @@ inferType | main.rs:806:13:806:13 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:806:13:806:13 | x | T | main.rs:800:10:800:10 | T | | main.rs:806:13:806:15 | x.a | | main.rs:800:10:800:10 | T | +| main.rs:810:16:866:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:811:13:811:13 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:811:13:811:13 | x | T | main.rs:743:5:744:14 | S1 | | main.rs:811:17:811:33 | MyThing {...} | | main.rs:738:5:741:5 | MyThing | @@ -2165,15 +2426,19 @@ inferType | main.rs:812:30:812:31 | S2 | | main.rs:745:5:746:14 | S2 | | main.rs:814:18:814:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:814:18:814:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:814:18:814:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:814:18:814:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:814:18:814:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:814:18:814:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:814:26:814:26 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:814:26:814:26 | x | T | main.rs:743:5:744:14 | S1 | | main.rs:814:26:814:31 | x.m1() | | main.rs:743:5:744:14 | S1 | | main.rs:815:18:815:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:815:18:815:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:815:18:815:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:815:18:815:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:815:18:815:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:815:18:815:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:815:26:815:26 | y | | main.rs:738:5:741:5 | MyThing | | main.rs:815:26:815:26 | y | T | main.rs:745:5:746:14 | S2 | | main.rs:815:26:815:31 | y.m1() | | main.rs:745:5:746:14 | S2 | @@ -2189,15 +2454,19 @@ inferType | main.rs:818:30:818:31 | S2 | | main.rs:745:5:746:14 | S2 | | main.rs:820:18:820:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:820:18:820:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:820:18:820:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:820:18:820:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:820:18:820:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:820:18:820:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:820:26:820:26 | x | | main.rs:738:5:741:5 | MyThing | | main.rs:820:26:820:26 | x | T | main.rs:743:5:744:14 | S1 | | main.rs:820:26:820:31 | x.m2() | | main.rs:743:5:744:14 | S1 | | main.rs:821:18:821:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:821:18:821:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:821:18:821:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:821:18:821:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:821:18:821:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:821:18:821:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:821:26:821:26 | y | | main.rs:738:5:741:5 | MyThing | | main.rs:821:26:821:26 | y | T | main.rs:745:5:746:14 | S2 | | main.rs:821:26:821:31 | y.m2() | | main.rs:745:5:746:14 | S2 | @@ -2217,8 +2486,10 @@ inferType | main.rs:826:31:826:32 | x2 | T | main.rs:743:5:744:14 | S1 | | main.rs:827:18:827:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:827:18:827:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:827:18:827:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:827:18:827:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:827:18:827:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:827:18:827:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:827:26:827:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:828:13:828:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:828:17:828:35 | call_trait_m1_2(...) | | main.rs:743:5:744:14 | S1 | @@ -2226,8 +2497,10 @@ inferType | main.rs:828:33:828:34 | x2 | T | main.rs:743:5:744:14 | S1 | | main.rs:829:18:829:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:829:18:829:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:829:18:829:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:829:18:829:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:829:18:829:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:829:18:829:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:829:26:829:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:830:13:830:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:830:17:830:35 | call_trait_m1_3(...) | | main.rs:743:5:744:14 | S1 | @@ -2235,8 +2508,10 @@ inferType | main.rs:830:33:830:34 | x2 | T | main.rs:743:5:744:14 | S1 | | main.rs:831:18:831:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:831:18:831:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:831:18:831:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:831:18:831:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:831:18:831:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:831:18:831:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:831:26:831:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:832:13:832:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:832:17:832:33 | call_trait_m1(...) | | main.rs:745:5:746:14 | S2 | @@ -2244,8 +2519,10 @@ inferType | main.rs:832:31:832:32 | y2 | T | main.rs:745:5:746:14 | S2 | | main.rs:833:18:833:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:833:18:833:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:833:18:833:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:833:18:833:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:833:18:833:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:833:18:833:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:833:26:833:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:834:13:834:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:834:17:834:35 | call_trait_m1_2(...) | | main.rs:745:5:746:14 | S2 | @@ -2253,8 +2530,10 @@ inferType | main.rs:834:33:834:34 | y2 | T | main.rs:745:5:746:14 | S2 | | main.rs:835:18:835:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:835:18:835:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:835:18:835:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:835:18:835:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:835:18:835:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:835:18:835:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:835:26:835:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:836:13:836:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:836:17:836:35 | call_trait_m1_3(...) | | main.rs:745:5:746:14 | S2 | @@ -2262,8 +2541,10 @@ inferType | main.rs:836:33:836:34 | y2 | T | main.rs:745:5:746:14 | S2 | | main.rs:837:18:837:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:837:18:837:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:837:18:837:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:837:18:837:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:837:18:837:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:837:18:837:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:837:26:837:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:838:13:838:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:838:17:838:38 | call_trait_assoc_1(...) | | main.rs:743:5:744:14 | S1 | @@ -2271,8 +2552,10 @@ inferType | main.rs:838:36:838:37 | x2 | T | main.rs:743:5:744:14 | S1 | | main.rs:839:18:839:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:839:18:839:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:839:18:839:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:839:18:839:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:839:18:839:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:839:18:839:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:839:26:839:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:840:13:840:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:840:17:840:38 | call_trait_assoc_2(...) | | main.rs:743:5:744:14 | S1 | @@ -2280,8 +2563,10 @@ inferType | main.rs:840:36:840:37 | x2 | T | main.rs:743:5:744:14 | S1 | | main.rs:841:18:841:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:841:18:841:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:841:18:841:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:841:18:841:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:841:18:841:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:841:18:841:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:841:26:841:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:842:13:842:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:842:17:842:38 | call_trait_assoc_1(...) | | main.rs:745:5:746:14 | S2 | @@ -2289,8 +2574,10 @@ inferType | main.rs:842:36:842:37 | y2 | T | main.rs:745:5:746:14 | S2 | | main.rs:843:18:843:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:843:18:843:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:843:18:843:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:843:18:843:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:843:18:843:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:843:18:843:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:843:26:843:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:844:13:844:13 | a | | main.rs:745:5:746:14 | S2 | | main.rs:844:17:844:38 | call_trait_assoc_2(...) | | main.rs:745:5:746:14 | S2 | @@ -2298,8 +2585,10 @@ inferType | main.rs:844:36:844:37 | y2 | T | main.rs:745:5:746:14 | S2 | | main.rs:845:18:845:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:845:18:845:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:845:18:845:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:845:18:845:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:845:18:845:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:845:18:845:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:845:26:845:26 | a | | main.rs:745:5:746:14 | S2 | | main.rs:847:13:847:14 | x3 | | main.rs:738:5:741:5 | MyThing | | main.rs:847:13:847:14 | x3 | T | main.rs:738:5:741:5 | MyThing | @@ -2326,8 +2615,10 @@ inferType | main.rs:854:37:854:38 | x3 | T.T | main.rs:743:5:744:14 | S1 | | main.rs:855:18:855:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:855:18:855:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:855:18:855:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:855:18:855:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:855:18:855:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:855:18:855:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:855:26:855:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:856:13:856:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:856:17:856:41 | call_trait_thing_m1_2(...) | | main.rs:743:5:744:14 | S1 | @@ -2336,8 +2627,10 @@ inferType | main.rs:856:39:856:40 | x3 | T.T | main.rs:743:5:744:14 | S1 | | main.rs:857:18:857:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:857:18:857:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:857:18:857:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:857:18:857:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:857:18:857:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:857:18:857:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:857:26:857:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:858:13:858:13 | a | | main.rs:743:5:744:14 | S1 | | main.rs:858:17:858:41 | call_trait_thing_m1_3(...) | | main.rs:743:5:744:14 | S1 | @@ -2346,8 +2639,10 @@ inferType | main.rs:858:39:858:40 | x3 | T.T | main.rs:743:5:744:14 | S1 | | main.rs:859:18:859:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:859:18:859:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:859:18:859:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:859:18:859:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:859:18:859:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:859:18:859:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:859:26:859:26 | a | | main.rs:743:5:744:14 | S1 | | main.rs:860:13:860:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:860:17:860:39 | call_trait_thing_m1(...) | | main.rs:745:5:746:14 | S2 | @@ -2356,8 +2651,10 @@ inferType | main.rs:860:37:860:38 | y3 | T.T | main.rs:745:5:746:14 | S2 | | main.rs:861:18:861:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:861:18:861:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:861:18:861:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:861:18:861:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:861:18:861:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:861:18:861:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:861:26:861:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:862:13:862:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:862:17:862:41 | call_trait_thing_m1_2(...) | | main.rs:745:5:746:14 | S2 | @@ -2366,8 +2663,10 @@ inferType | main.rs:862:39:862:40 | y3 | T.T | main.rs:745:5:746:14 | S2 | | main.rs:863:18:863:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:863:18:863:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:863:18:863:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:863:18:863:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:863:18:863:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:863:18:863:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:863:26:863:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:864:13:864:13 | b | | main.rs:745:5:746:14 | S2 | | main.rs:864:17:864:41 | call_trait_thing_m1_3(...) | | main.rs:745:5:746:14 | S2 | @@ -2376,8 +2675,10 @@ inferType | main.rs:864:39:864:40 | y3 | T.T | main.rs:745:5:746:14 | S2 | | main.rs:865:18:865:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:865:18:865:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:865:18:865:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:865:18:865:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:865:18:865:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:865:18:865:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:865:26:865:26 | b | | main.rs:745:5:746:14 | S2 | | main.rs:876:19:876:22 | SelfParam | | main.rs:870:5:873:5 | Wrapper | | main.rs:876:19:876:22 | SelfParam | A | main.rs:875:10:875:10 | A | @@ -2449,12 +2750,15 @@ inferType | main.rs:983:20:983:24 | SelfParam | &T | main.rs:927:5:928:14 | AT | | main.rs:983:43:985:9 | { ... } | | main.rs:924:5:925:14 | S2 | | main.rs:984:13:984:14 | S2 | | main.rs:924:5:925:14 | S2 | +| main.rs:988:16:1016:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:989:13:989:14 | x1 | | main.rs:921:5:922:13 | S | | main.rs:989:18:989:18 | S | | main.rs:921:5:922:13 | S | | main.rs:991:18:991:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:991:18:991:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:991:18:991:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:991:18:991:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:991:18:991:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:991:18:991:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:991:26:991:27 | x1 | | main.rs:921:5:922:13 | S | | main.rs:991:26:991:32 | x1.m1() | | main.rs:927:5:928:14 | AT | | main.rs:993:13:993:14 | x2 | | main.rs:921:5:922:13 | S | @@ -2464,15 +2768,19 @@ inferType | main.rs:995:17:995:23 | x2.m2() | | main.rs:927:5:928:14 | AT | | main.rs:996:18:996:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:996:18:996:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:996:18:996:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:996:18:996:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:996:18:996:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:996:18:996:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:996:26:996:26 | y | | main.rs:927:5:928:14 | AT | | main.rs:998:13:998:14 | x3 | | main.rs:921:5:922:13 | S | | main.rs:998:18:998:18 | S | | main.rs:921:5:922:13 | S | | main.rs:1000:18:1000:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1000:18:1000:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1000:18:1000:43 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1000:18:1000:43 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1000:18:1000:43 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1000:18:1000:43 | { ... } | | file://:0:0:0:0 | () | | main.rs:1000:26:1000:27 | x3 | | main.rs:921:5:922:13 | S | | main.rs:1000:26:1000:34 | x3.put(...) | | main.rs:870:5:873:5 | Wrapper | | main.rs:1000:26:1000:34 | x3.put(...) | A | {EXTERNAL LOCATION} | i32 | @@ -2480,8 +2788,10 @@ inferType | main.rs:1000:33:1000:33 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:1003:18:1003:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1003:18:1003:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1003:18:1003:49 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1003:18:1003:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1003:18:1003:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1003:18:1003:49 | { ... } | | file://:0:0:0:0 | () | | main.rs:1003:26:1003:27 | x3 | | main.rs:921:5:922:13 | S | | main.rs:1003:26:1003:40 | x3.putTwo(...) | | main.rs:870:5:873:5 | Wrapper | | main.rs:1003:26:1003:40 | x3.putTwo(...) | A | main.rs:941:36:941:50 | AssociatedParam | @@ -2491,14 +2801,18 @@ inferType | main.rs:1005:20:1005:20 | S | | main.rs:921:5:922:13 | S | | main.rs:1006:18:1006:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1006:18:1006:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1006:18:1006:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1006:18:1006:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1006:18:1006:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1006:18:1006:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1008:13:1008:14 | x5 | | main.rs:924:5:925:14 | S2 | | main.rs:1008:18:1008:19 | S2 | | main.rs:924:5:925:14 | S2 | | main.rs:1009:18:1009:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1009:18:1009:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1009:18:1009:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1009:18:1009:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1009:18:1009:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1009:18:1009:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1009:26:1009:27 | x5 | | main.rs:924:5:925:14 | S2 | | main.rs:1009:26:1009:32 | x5.m1() | | main.rs:870:5:873:5 | Wrapper | | main.rs:1009:26:1009:32 | x5.m1() | A | main.rs:924:5:925:14 | S2 | @@ -2506,8 +2820,10 @@ inferType | main.rs:1010:18:1010:19 | S2 | | main.rs:924:5:925:14 | S2 | | main.rs:1011:18:1011:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1011:18:1011:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1011:18:1011:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1011:18:1011:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1011:18:1011:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1011:18:1011:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1011:26:1011:27 | x6 | | main.rs:924:5:925:14 | S2 | | main.rs:1011:26:1011:32 | x6.m2() | | main.rs:870:5:873:5 | Wrapper | | main.rs:1011:26:1011:32 | x6.m2() | A | main.rs:924:5:925:14 | S2 | @@ -2529,20 +2845,26 @@ inferType | main.rs:1037:23:1037:27 | SelfParam | &T | main.rs:1031:5:1041:5 | Self [trait Subtrait2] | | main.rs:1037:30:1037:31 | c1 | | main.rs:1021:9:1021:21 | Content | | main.rs:1037:49:1037:50 | c2 | | main.rs:1021:9:1021:21 | Content | +| main.rs:1037:68:1040:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1038:13:1038:16 | self | | file://:0:0:0:0 | & | | main.rs:1038:13:1038:16 | self | &T | main.rs:1031:5:1041:5 | Self [trait Subtrait2] | +| main.rs:1038:13:1038:27 | self.insert(...) | | file://:0:0:0:0 | () | | main.rs:1038:25:1038:26 | c1 | | main.rs:1021:9:1021:21 | Content | | main.rs:1039:13:1039:16 | self | | file://:0:0:0:0 | & | | main.rs:1039:13:1039:16 | self | &T | main.rs:1031:5:1041:5 | Self [trait Subtrait2] | +| main.rs:1039:13:1039:27 | self.insert(...) | | file://:0:0:0:0 | () | | main.rs:1039:25:1039:26 | c2 | | main.rs:1021:9:1021:21 | Content | | main.rs:1047:19:1047:23 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1047:19:1047:23 | SelfParam | &T | main.rs:1043:5:1043:24 | MyType | | main.rs:1047:19:1047:23 | SelfParam | &T.T | main.rs:1045:10:1045:10 | T | | main.rs:1047:26:1047:33 | _content | | main.rs:1045:10:1045:10 | T | +| main.rs:1047:51:1049:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1048:22:1048:42 | "Inserting content: \\n" | | file://:0:0:0:0 | & | | main.rs:1048:22:1048:42 | "Inserting content: \\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1048:22:1048:42 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1048:22:1048:42 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1048:22:1048:42 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1048:22:1048:42 | { ... } | | file://:0:0:0:0 | () | | main.rs:1054:24:1054:28 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1054:24:1054:28 | SelfParam | &T | main.rs:1043:5:1043:24 | MyType | | main.rs:1054:24:1054:28 | SelfParam | &T.T | main.rs:1052:10:1052:17 | T | @@ -2567,13 +2889,17 @@ inferType | main.rs:1063:45:1063:46 | c1 | | main.rs:1021:9:1021:21 | Content | | main.rs:1063:61:1063:62 | c2 | | main.rs:1021:9:1021:21 | Content | | main.rs:1063:77:1063:78 | c3 | | main.rs:1021:9:1021:21 | Content | +| main.rs:1063:93:1066:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1064:9:1064:12 | item | | file://:0:0:0:0 | & | | main.rs:1064:9:1064:12 | item | &T | main.rs:1063:21:1063:32 | T | +| main.rs:1064:9:1064:23 | item.insert(...) | | file://:0:0:0:0 | () | | main.rs:1064:21:1064:22 | c1 | | main.rs:1021:9:1021:21 | Content | | main.rs:1065:9:1065:12 | item | | file://:0:0:0:0 | & | | main.rs:1065:9:1065:12 | item | &T | main.rs:1063:21:1063:32 | T | +| main.rs:1065:9:1065:31 | item.insert_two(...) | | file://:0:0:0:0 | () | | main.rs:1065:25:1065:26 | c2 | | main.rs:1021:9:1021:21 | Content | | main.rs:1065:29:1065:30 | c3 | | main.rs:1021:9:1021:21 | Content | +| main.rs:1068:15:1074:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1069:13:1069:17 | item1 | | main.rs:1043:5:1043:24 | MyType | | main.rs:1069:13:1069:17 | item1 | T | {EXTERNAL LOCATION} | i64 | | main.rs:1069:21:1069:33 | MyType(...) | | main.rs:1043:5:1043:24 | MyType | @@ -2605,6 +2931,7 @@ inferType | main.rs:1093:17:1093:32 | ...::C2 {...} | A | main.rs:1089:10:1089:10 | T | | main.rs:1093:30:1093:30 | a | | main.rs:1089:10:1089:10 | T | | main.rs:1093:37:1093:37 | a | | main.rs:1089:10:1089:10 | T | +| main.rs:1098:16:1104:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1099:13:1099:13 | x | | main.rs:1078:5:1082:5 | MyEnum | | main.rs:1099:13:1099:13 | x | A | main.rs:1084:5:1085:14 | S1 | | main.rs:1099:17:1099:30 | ...::C1(...) | | main.rs:1078:5:1082:5 | MyEnum | @@ -2617,15 +2944,19 @@ inferType | main.rs:1100:33:1100:34 | S2 | | main.rs:1086:5:1087:14 | S2 | | main.rs:1102:18:1102:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1102:18:1102:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1102:18:1102:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1102:18:1102:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1102:18:1102:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1102:18:1102:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1102:26:1102:26 | x | | main.rs:1078:5:1082:5 | MyEnum | | main.rs:1102:26:1102:26 | x | A | main.rs:1084:5:1085:14 | S1 | | main.rs:1102:26:1102:31 | x.m1() | | main.rs:1084:5:1085:14 | S1 | | main.rs:1103:18:1103:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1103:18:1103:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1103:18:1103:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1103:18:1103:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1103:18:1103:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1103:18:1103:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1103:26:1103:26 | y | | main.rs:1078:5:1082:5 | MyEnum | | main.rs:1103:26:1103:26 | y | A | main.rs:1086:5:1087:14 | S2 | | main.rs:1103:26:1103:31 | y.m1() | | main.rs:1086:5:1087:14 | S2 | @@ -2684,6 +3015,7 @@ inferType | main.rs:1177:9:1177:9 | x | | main.rs:1176:26:1176:41 | T2 | | main.rs:1177:9:1177:14 | x.m1() | | main.rs:1176:22:1176:23 | T1 | | main.rs:1180:56:1180:56 | x | | main.rs:1180:39:1180:53 | T | +| main.rs:1180:62:1184:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1182:13:1182:13 | a | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1182:13:1182:13 | a | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1182:17:1182:17 | x | | main.rs:1180:39:1180:53 | T | @@ -2691,10 +3023,13 @@ inferType | main.rs:1182:17:1182:22 | x.m1() | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1183:18:1183:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1183:18:1183:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1183:18:1183:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1183:18:1183:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1183:18:1183:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1183:18:1183:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:1183:26:1183:26 | a | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1183:26:1183:26 | a | A | main.rs:1118:5:1119:14 | S1 | +| main.rs:1186:16:1210:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1187:13:1187:13 | x | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1187:13:1187:13 | x | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1187:17:1187:33 | MyThing {...} | | main.rs:1108:5:1111:5 | MyThing | @@ -2707,15 +3042,19 @@ inferType | main.rs:1188:30:1188:31 | S2 | | main.rs:1120:5:1121:14 | S2 | | main.rs:1190:18:1190:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1190:18:1190:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1190:18:1190:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1190:18:1190:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1190:18:1190:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1190:18:1190:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1190:26:1190:26 | x | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1190:26:1190:26 | x | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1190:26:1190:31 | x.m1() | | main.rs:1118:5:1119:14 | S1 | | main.rs:1191:18:1191:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1191:18:1191:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1191:18:1191:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1191:18:1191:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1191:18:1191:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1191:18:1191:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1191:26:1191:26 | y | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1191:26:1191:26 | y | A | main.rs:1120:5:1121:14 | S2 | | main.rs:1191:26:1191:31 | y.m1() | | main.rs:1120:5:1121:14 | S2 | @@ -2731,15 +3070,19 @@ inferType | main.rs:1194:30:1194:31 | S2 | | main.rs:1120:5:1121:14 | S2 | | main.rs:1196:18:1196:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1196:18:1196:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1196:18:1196:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1196:18:1196:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1196:18:1196:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1196:26:1196:26 | x | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1196:26:1196:26 | x | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1196:26:1196:31 | x.m2() | | main.rs:1118:5:1119:14 | S1 | | main.rs:1197:18:1197:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1197:18:1197:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1197:18:1197:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1197:18:1197:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1197:18:1197:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1197:18:1197:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1197:26:1197:26 | y | | main.rs:1108:5:1111:5 | MyThing | | main.rs:1197:26:1197:26 | y | A | main.rs:1120:5:1121:14 | S2 | | main.rs:1197:26:1197:31 | y.m2() | | main.rs:1120:5:1121:14 | S2 | @@ -2755,15 +3098,19 @@ inferType | main.rs:1200:31:1200:32 | S2 | | main.rs:1120:5:1121:14 | S2 | | main.rs:1202:18:1202:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1202:18:1202:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1202:18:1202:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1202:18:1202:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1202:18:1202:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1202:18:1202:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1202:26:1202:26 | x | | main.rs:1113:5:1116:5 | MyThing2 | | main.rs:1202:26:1202:26 | x | A | main.rs:1118:5:1119:14 | S1 | | main.rs:1202:26:1202:31 | x.m3() | | main.rs:1118:5:1119:14 | S1 | | main.rs:1203:18:1203:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1203:18:1203:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1203:18:1203:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1203:18:1203:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1203:18:1203:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1203:18:1203:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1203:26:1203:26 | y | | main.rs:1113:5:1116:5 | MyThing2 | | main.rs:1203:26:1203:26 | y | A | main.rs:1120:5:1121:14 | S2 | | main.rs:1203:26:1203:31 | y.m3() | | main.rs:1120:5:1121:14 | S2 | @@ -2800,12 +3147,15 @@ inferType | main.rs:1239:5:1241:5 | { ... } | | main.rs:1236:17:1236:18 | T2 | | main.rs:1240:9:1240:9 | x | | main.rs:1236:13:1236:14 | T1 | | main.rs:1240:9:1240:16 | x.into() | | main.rs:1236:17:1236:18 | T2 | +| main.rs:1243:16:1259:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1244:13:1244:13 | x | | main.rs:1216:5:1217:14 | S1 | | main.rs:1244:17:1244:18 | S1 | | main.rs:1216:5:1217:14 | S1 | | main.rs:1245:18:1245:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1245:18:1245:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1245:18:1245:31 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1245:18:1245:31 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1245:18:1245:31 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1245:18:1245:31 | { ... } | | file://:0:0:0:0 | () | | main.rs:1245:26:1245:31 | id(...) | | file://:0:0:0:0 | & | | main.rs:1245:26:1245:31 | id(...) | &T | main.rs:1216:5:1217:14 | S1 | | main.rs:1245:29:1245:30 | &x | | file://:0:0:0:0 | & | @@ -2815,8 +3165,10 @@ inferType | main.rs:1247:17:1247:18 | S1 | | main.rs:1216:5:1217:14 | S1 | | main.rs:1248:18:1248:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1248:18:1248:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1248:18:1248:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1248:18:1248:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1248:18:1248:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1248:18:1248:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:1248:26:1248:37 | id::<...>(...) | | file://:0:0:0:0 | & | | main.rs:1248:26:1248:37 | id::<...>(...) | &T | main.rs:1216:5:1217:14 | S1 | | main.rs:1248:35:1248:36 | &x | | file://:0:0:0:0 | & | @@ -2828,8 +3180,10 @@ inferType | main.rs:1250:17:1250:18 | S1 | | main.rs:1222:5:1222:25 | dyn Trait | | main.rs:1252:18:1252:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1252:18:1252:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1252:18:1252:44 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1252:18:1252:44 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1252:18:1252:44 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1252:18:1252:44 | { ... } | | file://:0:0:0:0 | () | | main.rs:1252:26:1252:44 | id::<...>(...) | | file://:0:0:0:0 | & | | main.rs:1252:26:1252:44 | id::<...>(...) | &T | main.rs:1222:5:1222:25 | dyn Trait | | main.rs:1252:42:1252:43 | &x | | file://:0:0:0:0 | & | @@ -2850,6 +3204,7 @@ inferType | main.rs:1272:22:1272:25 | SelfParam | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1272:22:1272:25 | SelfParam | Snd | main.rs:1271:15:1271:17 | Snd | | main.rs:1272:35:1279:9 | { ... } | | main.rs:1271:15:1271:17 | Snd | +| main.rs:1273:13:1278:13 | match self { ... } | | file://:0:0:0:0 | () | | main.rs:1273:13:1278:13 | match self { ... } | | main.rs:1271:15:1271:17 | Snd | | main.rs:1273:19:1273:22 | self | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1273:19:1273:22 | self | Fst | main.rs:1271:10:1271:12 | Fst | @@ -2857,26 +3212,30 @@ inferType | main.rs:1274:17:1274:38 | ...::PairNone(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1274:17:1274:38 | ...::PairNone(...) | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1274:17:1274:38 | ...::PairNone(...) | Snd | main.rs:1271:15:1271:17 | Snd | +| main.rs:1274:43:1274:82 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:1274:43:1274:82 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | | main.rs:1274:50:1274:81 | "PairNone has no second elemen... | | file://:0:0:0:0 | & | | main.rs:1274:50:1274:81 | "PairNone has no second elemen... | &T | {EXTERNAL LOCATION} | str | | main.rs:1274:50:1274:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:1274:50:1274:81 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1274:50:1274:81 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1274:50:1274:81 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:1274:50:1274:81 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | -| main.rs:1274:50:1274:81 | { ... } | | main.rs:1271:15:1271:17 | Snd | +| main.rs:1274:50:1274:81 | { ... } | | file://:0:0:0:0 | () | | main.rs:1275:17:1275:38 | ...::PairFst(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1275:17:1275:38 | ...::PairFst(...) | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1275:17:1275:38 | ...::PairFst(...) | Snd | main.rs:1271:15:1271:17 | Snd | | main.rs:1275:37:1275:37 | _ | | main.rs:1271:10:1271:12 | Fst | +| main.rs:1275:43:1275:81 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:1275:43:1275:81 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | | main.rs:1275:50:1275:80 | "PairFst has no second element... | | file://:0:0:0:0 | & | | main.rs:1275:50:1275:80 | "PairFst has no second element... | &T | {EXTERNAL LOCATION} | str | | main.rs:1275:50:1275:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:1275:50:1275:80 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1275:50:1275:80 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1275:50:1275:80 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:1275:50:1275:80 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | -| main.rs:1275:50:1275:80 | { ... } | | main.rs:1271:15:1271:17 | Snd | +| main.rs:1275:50:1275:80 | { ... } | | file://:0:0:0:0 | () | | main.rs:1276:17:1276:40 | ...::PairSnd(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1276:17:1276:40 | ...::PairSnd(...) | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1276:17:1276:40 | ...::PairSnd(...) | Snd | main.rs:1271:15:1271:17 | Snd | @@ -2893,6 +3252,7 @@ inferType | main.rs:1303:10:1303:10 | t | Snd | main.rs:1263:5:1269:5 | PairOption | | main.rs:1303:10:1303:10 | t | Snd.Fst | main.rs:1285:5:1286:14 | S2 | | main.rs:1303:10:1303:10 | t | Snd.Snd | main.rs:1288:5:1289:14 | S3 | +| main.rs:1303:30:1306:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1304:13:1304:13 | x | | main.rs:1288:5:1289:14 | S3 | | main.rs:1304:17:1304:17 | t | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1304:17:1304:17 | t | Fst | main.rs:1285:5:1286:14 | S2 | @@ -2905,8 +3265,10 @@ inferType | main.rs:1304:17:1304:41 | ... .unwrapSnd() | | main.rs:1288:5:1289:14 | S3 | | main.rs:1305:18:1305:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1305:18:1305:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1305:18:1305:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1305:18:1305:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1305:18:1305:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1305:18:1305:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:1305:26:1305:26 | x | | main.rs:1288:5:1289:14 | S3 | | main.rs:1320:22:1320:25 | SelfParam | | main.rs:1318:5:1321:5 | Self [trait TraitWithAssocType] | | main.rs:1328:22:1328:25 | SelfParam | | main.rs:1316:5:1316:28 | GenS | @@ -2920,6 +3282,7 @@ inferType | main.rs:1329:16:1329:19 | self | | main.rs:1316:5:1316:28 | GenS | | main.rs:1329:16:1329:19 | self | GenT | main.rs:1323:10:1323:15 | Output | | main.rs:1329:16:1329:21 | self.0 | | main.rs:1323:10:1323:15 | Output | +| main.rs:1333:16:1355:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1335:13:1335:14 | p1 | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1335:13:1335:14 | p1 | Fst | main.rs:1282:5:1283:14 | S1 | | main.rs:1335:13:1335:14 | p1 | Snd | main.rs:1285:5:1286:14 | S2 | @@ -2930,8 +3293,10 @@ inferType | main.rs:1335:51:1335:52 | S2 | | main.rs:1285:5:1286:14 | S2 | | main.rs:1336:18:1336:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1336:18:1336:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1336:18:1336:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1336:18:1336:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1336:18:1336:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1336:18:1336:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1336:26:1336:27 | p1 | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1336:26:1336:27 | p1 | Fst | main.rs:1282:5:1283:14 | S1 | | main.rs:1336:26:1336:27 | p1 | Snd | main.rs:1285:5:1286:14 | S2 | @@ -2943,8 +3308,10 @@ inferType | main.rs:1339:26:1339:47 | ...::PairNone(...) | Snd | main.rs:1285:5:1286:14 | S2 | | main.rs:1340:18:1340:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1340:18:1340:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1340:18:1340:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1340:18:1340:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1340:18:1340:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1340:18:1340:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1340:26:1340:27 | p2 | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1340:26:1340:27 | p2 | Fst | main.rs:1282:5:1283:14 | S1 | | main.rs:1340:26:1340:27 | p2 | Snd | main.rs:1285:5:1286:14 | S2 | @@ -2957,8 +3324,10 @@ inferType | main.rs:1343:54:1343:55 | S3 | | main.rs:1288:5:1289:14 | S3 | | main.rs:1344:18:1344:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1344:18:1344:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1344:18:1344:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1344:18:1344:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1344:18:1344:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1344:18:1344:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1344:26:1344:27 | p3 | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1344:26:1344:27 | p3 | Fst | main.rs:1285:5:1286:14 | S2 | | main.rs:1344:26:1344:27 | p3 | Snd | main.rs:1288:5:1289:14 | S3 | @@ -2970,11 +3339,14 @@ inferType | main.rs:1347:35:1347:56 | ...::PairNone(...) | Snd | main.rs:1288:5:1289:14 | S3 | | main.rs:1348:18:1348:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1348:18:1348:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1348:18:1348:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1348:18:1348:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1348:18:1348:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1348:18:1348:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1348:26:1348:27 | p3 | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1348:26:1348:27 | p3 | Fst | main.rs:1285:5:1286:14 | S2 | | main.rs:1348:26:1348:27 | p3 | Snd | main.rs:1288:5:1289:14 | S3 | +| main.rs:1350:9:1350:55 | g(...) | | file://:0:0:0:0 | () | | main.rs:1350:11:1350:54 | ...::PairSnd(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1350:11:1350:54 | ...::PairSnd(...) | Fst | main.rs:1285:5:1286:14 | S2 | | main.rs:1350:11:1350:54 | ...::PairSnd(...) | Snd | main.rs:1263:5:1269:5 | PairOption | @@ -3005,13 +3377,16 @@ inferType | main.rs:1369:21:1369:29 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1369:21:1369:29 | SelfParam | &T | main.rs:1365:5:1372:5 | Self [trait MyTrait] | | main.rs:1369:32:1369:36 | value | | main.rs:1365:19:1365:19 | S | +| main.rs:1369:42:1371:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1370:13:1370:16 | self | | file://:0:0:0:0 | & | | main.rs:1370:13:1370:16 | self | &T | main.rs:1365:5:1372:5 | Self [trait MyTrait] | +| main.rs:1370:13:1370:27 | self.set(...) | | file://:0:0:0:0 | () | | main.rs:1370:22:1370:26 | value | | main.rs:1365:19:1365:19 | S | | main.rs:1376:16:1376:24 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1376:16:1376:24 | SelfParam | &T | main.rs:1359:5:1363:5 | MyOption | | main.rs:1376:16:1376:24 | SelfParam | &T.T | main.rs:1374:10:1374:10 | T | | main.rs:1376:27:1376:31 | value | | main.rs:1374:10:1374:10 | T | +| main.rs:1376:37:1376:38 | { ... } | | file://:0:0:0:0 | () | | main.rs:1380:26:1382:9 | { ... } | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1380:26:1382:9 | { ... } | T | main.rs:1379:10:1379:10 | T | | main.rs:1381:13:1381:30 | ...::MyNone(...) | | main.rs:1359:5:1363:5 | MyOption | @@ -3038,14 +3413,17 @@ inferType | main.rs:1389:34:1389:34 | x | T | main.rs:1385:10:1385:10 | T | | main.rs:1389:40:1389:40 | x | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1389:40:1389:40 | x | T | main.rs:1385:10:1385:10 | T | +| main.rs:1397:16:1443:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1398:13:1398:14 | x1 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1398:13:1398:14 | x1 | T | main.rs:1394:5:1395:13 | S | | main.rs:1398:18:1398:37 | ...::new(...) | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1398:18:1398:37 | ...::new(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1399:18:1399:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1399:18:1399:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1399:18:1399:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1399:18:1399:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1399:18:1399:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1399:18:1399:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1399:26:1399:27 | x1 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1399:26:1399:27 | x1 | T | main.rs:1394:5:1395:13 | S | | main.rs:1401:17:1401:18 | x2 | | main.rs:1359:5:1363:5 | MyOption | @@ -3054,26 +3432,33 @@ inferType | main.rs:1401:22:1401:36 | ...::new(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1402:9:1402:10 | x2 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1402:9:1402:10 | x2 | T | main.rs:1394:5:1395:13 | S | +| main.rs:1402:9:1402:17 | x2.set(...) | | file://:0:0:0:0 | () | | main.rs:1402:16:1402:16 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1403:18:1403:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1403:18:1403:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1403:18:1403:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1403:18:1403:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1403:18:1403:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1403:18:1403:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1403:26:1403:27 | x2 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1403:26:1403:27 | x2 | T | main.rs:1394:5:1395:13 | S | | main.rs:1406:17:1406:18 | x3 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1406:22:1406:36 | ...::new(...) | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1407:9:1407:10 | x3 | | main.rs:1359:5:1363:5 | MyOption | +| main.rs:1407:9:1407:22 | x3.call_set(...) | | file://:0:0:0:0 | () | | main.rs:1407:21:1407:21 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1408:18:1408:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1408:18:1408:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1408:18:1408:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1408:18:1408:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1408:18:1408:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1408:18:1408:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1408:26:1408:27 | x3 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1410:17:1410:18 | x4 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1410:17:1410:18 | x4 | T | main.rs:1394:5:1395:13 | S | | main.rs:1410:22:1410:36 | ...::new(...) | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1410:22:1410:36 | ...::new(...) | T | main.rs:1394:5:1395:13 | S | +| main.rs:1411:9:1411:33 | ...::set(...) | | file://:0:0:0:0 | () | | main.rs:1411:23:1411:29 | &mut x4 | | file://:0:0:0:0 | & | | main.rs:1411:23:1411:29 | &mut x4 | &T | main.rs:1359:5:1363:5 | MyOption | | main.rs:1411:23:1411:29 | &mut x4 | &T.T | main.rs:1394:5:1395:13 | S | @@ -3082,8 +3467,10 @@ inferType | main.rs:1411:32:1411:32 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1412:18:1412:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1412:18:1412:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1412:18:1412:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1412:18:1412:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1412:18:1412:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1412:18:1412:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1412:26:1412:27 | x4 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1412:26:1412:27 | x4 | T | main.rs:1394:5:1395:13 | S | | main.rs:1414:13:1414:14 | x5 | | main.rs:1359:5:1363:5 | MyOption | @@ -3096,8 +3483,10 @@ inferType | main.rs:1414:35:1414:57 | ...::MyNone(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1415:18:1415:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1415:18:1415:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1415:18:1415:37 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1415:18:1415:37 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1415:18:1415:37 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1415:18:1415:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:1415:26:1415:27 | x5 | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1415:26:1415:27 | x5 | T | main.rs:1359:5:1363:5 | MyOption | | main.rs:1415:26:1415:27 | x5 | T.T | main.rs:1394:5:1395:13 | S | @@ -3113,8 +3502,10 @@ inferType | main.rs:1417:35:1417:57 | ...::MyNone(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1418:18:1418:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1418:18:1418:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1418:18:1418:61 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1418:18:1418:61 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1418:18:1418:61 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1418:18:1418:61 | { ... } | | file://:0:0:0:0 | () | | main.rs:1418:26:1418:61 | ...::flatten(...) | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1418:26:1418:61 | ...::flatten(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1418:59:1418:60 | x6 | | main.rs:1359:5:1363:5 | MyOption | @@ -3138,8 +3529,10 @@ inferType | main.rs:1424:30:1424:30 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1426:18:1426:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1426:18:1426:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1426:18:1426:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1426:18:1426:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1426:18:1426:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1426:18:1426:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1426:26:1426:32 | from_if | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1426:26:1426:32 | from_if | T | main.rs:1394:5:1395:13 | S | | main.rs:1429:13:1429:22 | from_match | | main.rs:1359:5:1363:5 | MyOption | @@ -3158,17 +3551,22 @@ inferType | main.rs:1431:39:1431:39 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1433:18:1433:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1433:18:1433:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1433:18:1433:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1433:18:1433:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1433:18:1433:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1433:18:1433:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1433:26:1433:35 | from_match | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1433:26:1433:35 | from_match | T | main.rs:1394:5:1395:13 | S | | main.rs:1436:13:1436:21 | from_loop | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1436:13:1436:21 | from_loop | T | main.rs:1394:5:1395:13 | S | | main.rs:1436:25:1441:9 | loop { ... } | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1436:25:1441:9 | loop { ... } | T | main.rs:1394:5:1395:13 | S | +| main.rs:1436:30:1441:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:1437:13:1439:13 | if ... {...} | | file://:0:0:0:0 | () | | main.rs:1437:16:1437:16 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:1437:16:1437:20 | ... > ... | | {EXTERNAL LOCATION} | bool | | main.rs:1437:20:1437:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:22:1439:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:1438:23:1438:40 | ...::MyNone(...) | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1438:23:1438:40 | ...::MyNone(...) | T | main.rs:1394:5:1395:13 | S | | main.rs:1440:19:1440:37 | ...::MySome(...) | | main.rs:1359:5:1363:5 | MyOption | @@ -3176,8 +3574,10 @@ inferType | main.rs:1440:36:1440:36 | S | | main.rs:1394:5:1395:13 | S | | main.rs:1442:18:1442:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1442:18:1442:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1442:18:1442:34 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1442:18:1442:34 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1442:18:1442:34 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1442:18:1442:34 | { ... } | | file://:0:0:0:0 | () | | main.rs:1442:26:1442:34 | from_loop | | main.rs:1359:5:1363:5 | MyOption | | main.rs:1442:26:1442:34 | from_loop | T | main.rs:1394:5:1395:13 | S | | main.rs:1460:15:1460:18 | SelfParam | | main.rs:1448:5:1449:19 | S | @@ -3233,6 +3633,7 @@ inferType | main.rs:1487:14:1487:18 | * ... | | main.rs:1454:5:1457:5 | MyInt | | main.rs:1487:15:1487:18 | self | | file://:0:0:0:0 | & | | main.rs:1487:15:1487:18 | self | &T | main.rs:1454:5:1457:5 | MyInt | +| main.rs:1491:16:1541:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1492:13:1492:14 | x1 | | main.rs:1448:5:1449:19 | S | | main.rs:1492:13:1492:14 | x1 | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1492:18:1492:22 | S(...) | | main.rs:1448:5:1449:19 | S | @@ -3240,8 +3641,10 @@ inferType | main.rs:1492:20:1492:21 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1493:18:1493:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1493:18:1493:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1493:18:1493:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1493:18:1493:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1493:18:1493:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1493:18:1493:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1493:26:1493:27 | x1 | | main.rs:1448:5:1449:19 | S | | main.rs:1493:26:1493:27 | x1 | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1493:26:1493:32 | x1.m1() | | main.rs:1451:5:1452:14 | S2 | @@ -3252,16 +3655,20 @@ inferType | main.rs:1495:20:1495:21 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1497:18:1497:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1497:18:1497:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1497:18:1497:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1497:18:1497:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1497:18:1497:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1497:18:1497:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1497:26:1497:27 | x2 | | main.rs:1448:5:1449:19 | S | | main.rs:1497:26:1497:27 | x2 | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1497:26:1497:32 | x2.m2() | | file://:0:0:0:0 | & | | main.rs:1497:26:1497:32 | x2.m2() | &T | main.rs:1451:5:1452:14 | S2 | | main.rs:1498:18:1498:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1498:18:1498:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1498:18:1498:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1498:18:1498:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1498:18:1498:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1498:18:1498:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1498:26:1498:27 | x2 | | main.rs:1448:5:1449:19 | S | | main.rs:1498:26:1498:27 | x2 | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1498:26:1498:32 | x2.m3() | | file://:0:0:0:0 | & | @@ -3273,8 +3680,10 @@ inferType | main.rs:1500:20:1500:21 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1502:18:1502:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1502:18:1502:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1502:18:1502:41 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1502:18:1502:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1502:18:1502:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1502:18:1502:41 | { ... } | | file://:0:0:0:0 | () | | main.rs:1502:26:1502:41 | ...::m2(...) | | file://:0:0:0:0 | & | | main.rs:1502:26:1502:41 | ...::m2(...) | &T | main.rs:1451:5:1452:14 | S2 | | main.rs:1502:38:1502:40 | &x3 | | file://:0:0:0:0 | & | @@ -3284,8 +3693,10 @@ inferType | main.rs:1502:39:1502:40 | x3 | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1503:18:1503:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1503:18:1503:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1503:18:1503:41 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1503:18:1503:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1503:18:1503:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1503:18:1503:41 | { ... } | | file://:0:0:0:0 | () | | main.rs:1503:26:1503:41 | ...::m3(...) | | file://:0:0:0:0 | & | | main.rs:1503:26:1503:41 | ...::m3(...) | &T | main.rs:1451:5:1452:14 | S2 | | main.rs:1503:38:1503:40 | &x3 | | file://:0:0:0:0 | & | @@ -3304,8 +3715,10 @@ inferType | main.rs:1505:21:1505:22 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1507:18:1507:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1507:18:1507:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1507:18:1507:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1507:18:1507:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1507:18:1507:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1507:18:1507:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1507:26:1507:27 | x4 | | file://:0:0:0:0 | & | | main.rs:1507:26:1507:27 | x4 | &T | main.rs:1448:5:1449:19 | S | | main.rs:1507:26:1507:27 | x4 | &T.T | main.rs:1451:5:1452:14 | S2 | @@ -3313,8 +3726,10 @@ inferType | main.rs:1507:26:1507:32 | x4.m2() | &T | main.rs:1451:5:1452:14 | S2 | | main.rs:1508:18:1508:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1508:18:1508:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1508:18:1508:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1508:18:1508:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1508:18:1508:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1508:18:1508:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1508:26:1508:27 | x4 | | file://:0:0:0:0 | & | | main.rs:1508:26:1508:27 | x4 | &T | main.rs:1448:5:1449:19 | S | | main.rs:1508:26:1508:27 | x4 | &T.T | main.rs:1451:5:1452:14 | S2 | @@ -3331,16 +3746,20 @@ inferType | main.rs:1510:21:1510:22 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1512:18:1512:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1512:18:1512:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1512:18:1512:32 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1512:18:1512:32 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1512:18:1512:32 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1512:18:1512:32 | { ... } | | file://:0:0:0:0 | () | | main.rs:1512:26:1512:27 | x5 | | file://:0:0:0:0 | & | | main.rs:1512:26:1512:27 | x5 | &T | main.rs:1448:5:1449:19 | S | | main.rs:1512:26:1512:27 | x5 | &T.T | main.rs:1451:5:1452:14 | S2 | | main.rs:1512:26:1512:32 | x5.m1() | | main.rs:1451:5:1452:14 | S2 | | main.rs:1513:18:1513:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1513:18:1513:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1513:18:1513:29 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1513:18:1513:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1513:18:1513:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1513:18:1513:29 | { ... } | | file://:0:0:0:0 | () | | main.rs:1513:26:1513:27 | x5 | | file://:0:0:0:0 | & | | main.rs:1513:26:1513:27 | x5 | &T | main.rs:1448:5:1449:19 | S | | main.rs:1513:26:1513:27 | x5 | &T.T | main.rs:1451:5:1452:14 | S2 | @@ -3356,8 +3775,10 @@ inferType | main.rs:1515:21:1515:22 | S2 | | main.rs:1451:5:1452:14 | S2 | | main.rs:1518:18:1518:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1518:18:1518:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1518:18:1518:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1518:18:1518:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1518:18:1518:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1518:18:1518:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1518:26:1518:30 | (...) | | main.rs:1448:5:1449:19 | S | | main.rs:1518:26:1518:30 | (...) | T | main.rs:1451:5:1452:14 | S2 | | main.rs:1518:26:1518:35 | ... .m1() | | main.rs:1451:5:1452:14 | S2 | @@ -3384,8 +3805,10 @@ inferType | main.rs:1523:17:1523:23 | x7.m1() | &T | main.rs:1451:5:1452:14 | S2 | | main.rs:1524:18:1524:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1524:18:1524:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1524:18:1524:27 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1524:18:1524:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1524:18:1524:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1524:18:1524:27 | { ... } | | file://:0:0:0:0 | () | | main.rs:1524:26:1524:27 | x7 | | main.rs:1448:5:1449:19 | S | | main.rs:1524:26:1524:27 | x7 | T | file://:0:0:0:0 | & | | main.rs:1524:26:1524:27 | x7 | T.&T | main.rs:1451:5:1452:14 | S2 | @@ -3411,8 +3834,10 @@ inferType | main.rs:1534:17:1534:43 | my_thing.method_on_borrow() | | {EXTERNAL LOCATION} | i64 | | main.rs:1535:18:1535:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1535:18:1535:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1535:18:1535:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1535:18:1535:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1535:18:1535:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1535:18:1535:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:1535:26:1535:26 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:1538:13:1538:20 | my_thing | | file://:0:0:0:0 | & | | main.rs:1538:13:1538:20 | my_thing | &T | main.rs:1454:5:1457:5 | MyInt | @@ -3427,8 +3852,10 @@ inferType | main.rs:1539:17:1539:47 | my_thing.method_not_on_borrow() | | {EXTERNAL LOCATION} | i64 | | main.rs:1540:18:1540:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1540:18:1540:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1540:18:1540:26 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1540:18:1540:26 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1540:18:1540:26 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1540:18:1540:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:1540:26:1540:26 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:1547:16:1547:20 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1547:16:1547:20 | SelfParam | &T | main.rs:1545:5:1553:5 | Self [trait MyTrait] | @@ -3446,6 +3873,7 @@ inferType | main.rs:1559:36:1561:9 | { ... } | &T | main.rs:1555:5:1555:20 | MyStruct | | main.rs:1560:13:1560:16 | self | | file://:0:0:0:0 | & | | main.rs:1560:13:1560:16 | self | &T | main.rs:1555:5:1555:20 | MyStruct | +| main.rs:1564:16:1567:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1565:13:1565:13 | x | | main.rs:1555:5:1555:20 | MyStruct | | main.rs:1565:17:1565:24 | MyStruct | | main.rs:1555:5:1555:20 | MyStruct | | main.rs:1566:9:1566:9 | x | | main.rs:1555:5:1555:20 | MyStruct | @@ -3460,6 +3888,7 @@ inferType | main.rs:1577:13:1577:16 | self | | file://:0:0:0:0 | & | | main.rs:1577:13:1577:16 | self | &T | main.rs:1573:5:1573:26 | MyStruct | | main.rs:1577:13:1577:16 | self | &T.T | main.rs:1575:10:1575:10 | T | +| main.rs:1581:16:1584:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1582:13:1582:13 | x | | main.rs:1573:5:1573:26 | MyStruct | | main.rs:1582:13:1582:13 | x | T | main.rs:1571:5:1571:13 | S | | main.rs:1582:17:1582:27 | MyStruct(...) | | main.rs:1573:5:1573:26 | MyStruct | @@ -3472,6 +3901,7 @@ inferType | main.rs:1583:9:1583:15 | x.foo() | &T.T | main.rs:1571:5:1571:13 | S | | main.rs:1594:17:1594:25 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1594:17:1594:25 | SelfParam | &T | main.rs:1588:5:1591:5 | MyFlag | +| main.rs:1594:28:1596:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1595:13:1595:16 | self | | file://:0:0:0:0 | & | | main.rs:1595:13:1595:16 | self | &T | main.rs:1588:5:1591:5 | MyFlag | | main.rs:1595:13:1595:21 | self.bool | | {EXTERNAL LOCATION} | bool | @@ -3543,6 +3973,7 @@ inferType | main.rs:1615:15:1615:16 | &x | &T.&T | main.rs:1599:5:1599:13 | S | | main.rs:1615:16:1615:16 | x | | file://:0:0:0:0 | & | | main.rs:1615:16:1615:16 | x | &T | main.rs:1599:5:1599:13 | S | +| main.rs:1619:16:1632:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1620:13:1620:13 | x | | main.rs:1599:5:1599:13 | S | | main.rs:1620:17:1620:20 | S {...} | | main.rs:1599:5:1599:13 | S | | main.rs:1621:9:1621:9 | x | | main.rs:1599:5:1599:13 | S | @@ -3568,13 +3999,16 @@ inferType | main.rs:1625:21:1625:24 | true | | {EXTERNAL LOCATION} | bool | | main.rs:1629:17:1629:20 | flag | | main.rs:1588:5:1591:5 | MyFlag | | main.rs:1629:24:1629:41 | ...::default(...) | | main.rs:1588:5:1591:5 | MyFlag | +| main.rs:1630:9:1630:31 | ...::flip(...) | | file://:0:0:0:0 | () | | main.rs:1630:22:1630:30 | &mut flag | | file://:0:0:0:0 | & | | main.rs:1630:22:1630:30 | &mut flag | &T | main.rs:1588:5:1591:5 | MyFlag | | main.rs:1630:27:1630:30 | flag | | main.rs:1588:5:1591:5 | MyFlag | | main.rs:1631:18:1631:23 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1631:18:1631:23 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1631:18:1631:29 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1631:18:1631:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1631:18:1631:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1631:18:1631:29 | { ... } | | file://:0:0:0:0 | () | | main.rs:1631:26:1631:29 | flag | | main.rs:1588:5:1591:5 | MyFlag | | main.rs:1646:43:1649:5 | { ... } | | {EXTERNAL LOCATION} | Result | | main.rs:1646:43:1649:5 | { ... } | E | main.rs:1638:5:1639:14 | S1 | @@ -3653,14 +4087,18 @@ inferType | main.rs:1672:53:1675:9 | { ... } | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1673:22:1673:27 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1673:22:1673:27 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1673:22:1673:30 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1673:22:1673:30 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1673:22:1673:30 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1673:22:1673:30 | { ... } | | file://:0:0:0:0 | () | | main.rs:1674:13:1674:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1674:13:1674:34 | ...::Ok::<...>(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1676:9:1676:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1676:9:1676:23 | ...::Err(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1676:9:1676:23 | ...::Err(...) | T | main.rs:1670:20:1670:27 | T | | main.rs:1676:21:1676:22 | S1 | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1680:16:1696:5 | { ... } | | file://:0:0:0:0 | () | +| main.rs:1681:9:1683:9 | if ... {...} | | file://:0:0:0:0 | () | | main.rs:1681:16:1681:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1681:16:1681:33 | ...::Ok(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1681:16:1681:33 | ...::Ok(...) | T | main.rs:1638:5:1639:14 | S1 | @@ -3668,11 +4106,15 @@ inferType | main.rs:1681:37:1681:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1681:37:1681:52 | try_same_error(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1681:37:1681:52 | try_same_error(...) | T | main.rs:1638:5:1639:14 | S1 | +| main.rs:1681:54:1683:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1682:22:1682:27 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1682:22:1682:27 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1682:22:1682:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1682:22:1682:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1682:22:1682:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1682:22:1682:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1682:30:1682:35 | result | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1685:9:1687:9 | if ... {...} | | file://:0:0:0:0 | () | | main.rs:1685:16:1685:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1685:16:1685:33 | ...::Ok(...) | E | main.rs:1641:5:1642:14 | S2 | | main.rs:1685:16:1685:33 | ...::Ok(...) | T | main.rs:1638:5:1639:14 | S1 | @@ -3680,11 +4122,15 @@ inferType | main.rs:1685:37:1685:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1685:37:1685:55 | try_convert_error(...) | E | main.rs:1641:5:1642:14 | S2 | | main.rs:1685:37:1685:55 | try_convert_error(...) | T | main.rs:1638:5:1639:14 | S1 | +| main.rs:1685:57:1687:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1686:22:1686:27 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1686:22:1686:27 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1686:22:1686:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1686:22:1686:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1686:22:1686:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1686:22:1686:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1686:30:1686:35 | result | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1689:9:1691:9 | if ... {...} | | file://:0:0:0:0 | () | | main.rs:1689:16:1689:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1689:16:1689:33 | ...::Ok(...) | E | main.rs:1641:5:1642:14 | S2 | | main.rs:1689:16:1689:33 | ...::Ok(...) | T | main.rs:1638:5:1639:14 | S1 | @@ -3692,11 +4138,15 @@ inferType | main.rs:1689:37:1689:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1689:37:1689:49 | try_chained(...) | E | main.rs:1641:5:1642:14 | S2 | | main.rs:1689:37:1689:49 | try_chained(...) | T | main.rs:1638:5:1639:14 | S1 | +| main.rs:1689:51:1691:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1690:22:1690:27 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1690:22:1690:27 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1690:22:1690:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1690:22:1690:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1690:22:1690:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1690:22:1690:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1690:30:1690:35 | result | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1693:9:1695:9 | if ... {...} | | file://:0:0:0:0 | () | | main.rs:1693:16:1693:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | | main.rs:1693:16:1693:33 | ...::Ok(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1693:16:1693:33 | ...::Ok(...) | T | main.rs:1638:5:1639:14 | S1 | @@ -3708,11 +4158,15 @@ inferType | main.rs:1693:49:1693:62 | ...::Ok(...) | E | main.rs:1638:5:1639:14 | S1 | | main.rs:1693:49:1693:62 | ...::Ok(...) | T | main.rs:1638:5:1639:14 | S1 | | main.rs:1693:60:1693:61 | S1 | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1693:65:1695:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1694:22:1694:27 | "{:?}\\n" | | file://:0:0:0:0 | & | | main.rs:1694:22:1694:27 | "{:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:1694:22:1694:35 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:1694:22:1694:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1694:22:1694:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:1694:22:1694:35 | { ... } | | file://:0:0:0:0 | () | | main.rs:1694:30:1694:35 | result | | main.rs:1638:5:1639:14 | S1 | +| main.rs:1700:16:1710:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1701:13:1701:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:1701:22:1701:22 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:1702:13:1702:13 | y | | {EXTERNAL LOCATION} | i32 | @@ -3736,6 +4190,7 @@ inferType | main.rs:1708:17:1708:20 | true | | {EXTERNAL LOCATION} | bool | | main.rs:1709:13:1709:13 | f | | {EXTERNAL LOCATION} | bool | | main.rs:1709:17:1709:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1715:16:1727:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1716:13:1716:13 | x | | {EXTERNAL LOCATION} | bool | | main.rs:1716:17:1716:20 | true | | {EXTERNAL LOCATION} | bool | | main.rs:1716:17:1716:29 | ... && ... | | {EXTERNAL LOCATION} | bool | @@ -3749,12 +4204,15 @@ inferType | main.rs:1720:20:1720:21 | 34 | | {EXTERNAL LOCATION} | i32 | | main.rs:1720:20:1720:27 | ... == ... | | {EXTERNAL LOCATION} | bool | | main.rs:1720:26:1720:27 | 33 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1721:9:1725:9 | if cond {...} else {...} | | file://:0:0:0:0 | () | | main.rs:1721:12:1721:15 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:17:1723:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1722:17:1722:17 | z | | file://:0:0:0:0 | () | | main.rs:1722:21:1722:27 | (...) | | file://:0:0:0:0 | () | | main.rs:1722:22:1722:22 | a | | {EXTERNAL LOCATION} | i32 | | main.rs:1722:22:1722:26 | ... = ... | | file://:0:0:0:0 | () | | main.rs:1722:26:1722:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1723:16:1725:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1724:13:1724:13 | a | | {EXTERNAL LOCATION} | i32 | | main.rs:1724:13:1724:17 | ... = ... | | file://:0:0:0:0 | () | | main.rs:1724:17:1724:17 | 2 | | {EXTERNAL LOCATION} | i32 | @@ -3782,6 +4240,7 @@ inferType | main.rs:1758:23:1758:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1758:23:1758:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1758:34:1758:36 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1758:45:1761:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1759:13:1759:16 | self | | file://:0:0:0:0 | & | | main.rs:1759:13:1759:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1759:13:1759:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3811,6 +4270,7 @@ inferType | main.rs:1776:23:1776:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1776:23:1776:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1776:34:1776:36 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1776:45:1779:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1777:13:1777:16 | self | | file://:0:0:0:0 | & | | main.rs:1777:13:1777:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1777:13:1777:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3840,6 +4300,7 @@ inferType | main.rs:1793:23:1793:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1793:23:1793:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1793:34:1793:36 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1793:45:1796:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1794:13:1794:16 | self | | file://:0:0:0:0 | & | | main.rs:1794:13:1794:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1794:13:1794:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3869,6 +4330,7 @@ inferType | main.rs:1810:23:1810:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1810:23:1810:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1810:34:1810:36 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1810:45:1813:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1811:13:1811:16 | self | | file://:0:0:0:0 | & | | main.rs:1811:13:1811:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1811:13:1811:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3898,6 +4360,7 @@ inferType | main.rs:1827:23:1827:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1827:23:1827:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1827:34:1827:36 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1827:45:1830:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1828:13:1828:16 | self | | file://:0:0:0:0 | & | | main.rs:1828:13:1828:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1828:13:1828:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3927,6 +4390,7 @@ inferType | main.rs:1844:26:1844:34 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1844:26:1844:34 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1844:37:1844:39 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1844:48:1847:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1845:13:1845:16 | self | | file://:0:0:0:0 | & | | main.rs:1845:13:1845:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1845:13:1845:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3956,6 +4420,7 @@ inferType | main.rs:1861:25:1861:33 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1861:25:1861:33 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1861:36:1861:38 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1861:47:1864:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1862:13:1862:16 | self | | file://:0:0:0:0 | & | | main.rs:1862:13:1862:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1862:13:1862:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -3985,6 +4450,7 @@ inferType | main.rs:1878:26:1878:34 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1878:26:1878:34 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1878:37:1878:39 | rhs | | main.rs:1733:5:1738:5 | Vec2 | +| main.rs:1878:48:1881:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1879:13:1879:16 | self | | file://:0:0:0:0 | & | | main.rs:1879:13:1879:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1879:13:1879:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -4012,6 +4478,7 @@ inferType | main.rs:1895:23:1895:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1895:23:1895:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1895:34:1895:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1895:44:1898:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1896:13:1896:16 | self | | file://:0:0:0:0 | & | | main.rs:1896:13:1896:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1896:13:1896:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -4037,6 +4504,7 @@ inferType | main.rs:1912:23:1912:31 | SelfParam | | file://:0:0:0:0 | & | | main.rs:1912:23:1912:31 | SelfParam | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1912:34:1912:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1912:44:1915:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:1913:13:1913:16 | self | | file://:0:0:0:0 | & | | main.rs:1913:13:1913:16 | self | &T | main.rs:1733:5:1738:5 | Vec2 | | main.rs:1913:13:1913:18 | self.x | | {EXTERNAL LOCATION} | i64 | @@ -4217,6 +4685,7 @@ inferType | main.rs:1971:9:1971:9 | a | | main.rs:1970:18:1970:23 | T | | main.rs:1971:9:1971:13 | ... + ... | | {EXTERNAL LOCATION} | Output | | main.rs:1971:13:1971:13 | b | | main.rs:1970:18:1970:23 | T | +| main.rs:1974:16:2105:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:1978:13:1978:18 | i64_eq | | {EXTERNAL LOCATION} | bool | | main.rs:1978:22:1978:35 | (...) | | {EXTERNAL LOCATION} | bool | | main.rs:1978:23:1978:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | @@ -4498,6 +4967,7 @@ inferType | main.rs:2104:46:2104:46 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:2104:53:2104:64 | default_vec2 | | main.rs:1733:5:1738:5 | Vec2 | | main.rs:2114:18:2114:21 | SelfParam | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2114:24:2114:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2117:25:2119:5 | { ... } | | main.rs:2111:5:2111:14 | S1 | | main.rs:2118:9:2118:10 | S1 | | main.rs:2111:5:2111:14 | S1 | | main.rs:2121:41:2123:5 | { ... } | | main.rs:2121:16:2121:39 | impl ... | @@ -4506,6 +4976,7 @@ inferType | main.rs:2122:17:2122:18 | S1 | | main.rs:2111:5:2111:14 | S1 | | main.rs:2125:41:2127:5 | { ... } | | main.rs:2125:16:2125:39 | impl ... | | main.rs:2126:9:2126:16 | { ... } | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2126:9:2126:16 | { ... } | Output | file://:0:0:0:0 | () | | main.rs:2135:13:2135:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | | main.rs:2135:13:2135:42 | SelfParam | Ptr | file://:0:0:0:0 | & | | main.rs:2135:13:2135:42 | SelfParam | Ptr.&T | main.rs:2129:5:2129:14 | S2 | @@ -4519,17 +4990,22 @@ inferType | main.rs:2142:41:2144:5 | { ... } | | main.rs:2142:16:2142:39 | impl ... | | main.rs:2143:9:2143:10 | S2 | | main.rs:2129:5:2129:14 | S2 | | main.rs:2143:9:2143:10 | S2 | | main.rs:2142:16:2142:39 | impl ... | +| main.rs:2146:22:2154:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2147:9:2147:12 | f1(...) | | {EXTERNAL LOCATION} | trait Future | | main.rs:2147:9:2147:12 | f1(...) | Output | main.rs:2111:5:2111:14 | S1 | | main.rs:2147:9:2147:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2147:9:2147:22 | ... .f() | | file://:0:0:0:0 | () | | main.rs:2148:9:2148:12 | f2(...) | | main.rs:2121:16:2121:39 | impl ... | | main.rs:2148:9:2148:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2148:9:2148:22 | ... .f() | | file://:0:0:0:0 | () | | main.rs:2149:9:2149:12 | f3(...) | | main.rs:2125:16:2125:39 | impl ... | | main.rs:2149:9:2149:18 | await ... | | file://:0:0:0:0 | () | | main.rs:2150:9:2150:12 | f4(...) | | main.rs:2142:16:2142:39 | impl ... | | main.rs:2150:9:2150:18 | await ... | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2150:9:2150:22 | ... .f() | | file://:0:0:0:0 | () | | main.rs:2151:9:2151:10 | S2 | | main.rs:2129:5:2129:14 | S2 | | main.rs:2151:9:2151:16 | await S2 | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2151:9:2151:20 | ... .f() | | file://:0:0:0:0 | () | | main.rs:2152:13:2152:13 | b | | {EXTERNAL LOCATION} | trait Future | | main.rs:2152:13:2152:13 | b | Output | main.rs:2111:5:2111:14 | S1 | | main.rs:2152:17:2152:28 | { ... } | | {EXTERNAL LOCATION} | trait Future | @@ -4538,14 +5014,19 @@ inferType | main.rs:2153:9:2153:9 | b | | {EXTERNAL LOCATION} | trait Future | | main.rs:2153:9:2153:9 | b | Output | main.rs:2111:5:2111:14 | S1 | | main.rs:2153:9:2153:15 | await b | | main.rs:2111:5:2111:14 | S1 | +| main.rs:2153:9:2153:19 | ... .f() | | file://:0:0:0:0 | () | | main.rs:2164:15:2164:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:2164:15:2164:19 | SelfParam | &T | main.rs:2163:5:2165:5 | Self [trait Trait1] | +| main.rs:2164:22:2164:23 | { ... } | | file://:0:0:0:0 | () | | main.rs:2168:15:2168:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:2168:15:2168:19 | SelfParam | &T | main.rs:2167:5:2169:5 | Self [trait Trait2] | +| main.rs:2168:22:2168:23 | { ... } | | file://:0:0:0:0 | () | | main.rs:2172:15:2172:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:2172:15:2172:19 | SelfParam | &T | main.rs:2158:5:2159:14 | S1 | +| main.rs:2172:22:2172:23 | { ... } | | file://:0:0:0:0 | () | | main.rs:2176:15:2176:19 | SelfParam | | file://:0:0:0:0 | & | | main.rs:2176:15:2176:19 | SelfParam | &T | main.rs:2158:5:2159:14 | S1 | +| main.rs:2176:22:2176:23 | { ... } | | file://:0:0:0:0 | () | | main.rs:2179:37:2181:5 | { ... } | | main.rs:2179:16:2179:35 | impl ... + ... | | main.rs:2180:9:2180:10 | S1 | | main.rs:2158:5:2159:14 | S1 | | main.rs:2180:9:2180:10 | S1 | | main.rs:2179:16:2179:35 | impl ... + ... | @@ -4626,10 +5107,13 @@ inferType | main.rs:2220:51:2222:5 | { ... } | | main.rs:2220:23:2220:23 | A | | main.rs:2221:9:2221:9 | t | | main.rs:2220:29:2220:43 | impl ... | | main.rs:2221:9:2221:17 | t.get_a() | | main.rs:2220:23:2220:23 | A | +| main.rs:2224:16:2238:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2225:13:2225:13 | x | | main.rs:2179:16:2179:35 | impl ... + ... | | main.rs:2225:17:2225:20 | f1(...) | | main.rs:2179:16:2179:35 | impl ... + ... | | main.rs:2226:9:2226:9 | x | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2226:9:2226:14 | x.f1() | | file://:0:0:0:0 | () | | main.rs:2227:9:2227:9 | x | | main.rs:2179:16:2179:35 | impl ... + ... | +| main.rs:2227:9:2227:14 | x.f2() | | file://:0:0:0:0 | () | | main.rs:2228:13:2228:13 | a | | main.rs:2200:28:2200:43 | impl ... | | main.rs:2228:17:2228:32 | get_a_my_trait(...) | | main.rs:2200:28:2200:43 | impl ... | | main.rs:2229:13:2229:13 | b | | main.rs:2160:5:2160:14 | S2 | @@ -4681,12 +5165,14 @@ inferType | main.rs:2263:17:2263:25 | SelfParam | &T | main.rs:2253:5:2256:5 | MyVec | | main.rs:2263:17:2263:25 | SelfParam | &T.T | main.rs:2258:10:2258:10 | T | | main.rs:2263:28:2263:32 | value | | main.rs:2258:10:2258:10 | T | +| main.rs:2263:38:2265:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:2264:13:2264:16 | self | | file://:0:0:0:0 | & | | main.rs:2264:13:2264:16 | self | &T | main.rs:2253:5:2256:5 | MyVec | | main.rs:2264:13:2264:16 | self | &T.T | main.rs:2258:10:2258:10 | T | | main.rs:2264:13:2264:21 | self.data | | {EXTERNAL LOCATION} | Vec | | main.rs:2264:13:2264:21 | self.data | A | {EXTERNAL LOCATION} | Global | | main.rs:2264:13:2264:21 | self.data | T | main.rs:2258:10:2258:10 | T | +| main.rs:2264:13:2264:33 | ... .push(...) | | file://:0:0:0:0 | () | | main.rs:2264:28:2264:32 | value | | main.rs:2258:10:2258:10 | T | | main.rs:2272:18:2272:22 | SelfParam | | file://:0:0:0:0 | & | | main.rs:2272:18:2272:22 | SelfParam | &T | main.rs:2253:5:2256:5 | MyVec | @@ -4707,6 +5193,7 @@ inferType | main.rs:2277:22:2277:26 | slice | | file://:0:0:0:0 | & | | main.rs:2277:22:2277:26 | slice | &T | file://:0:0:0:0 | [] | | main.rs:2277:22:2277:26 | slice | &T.[T] | main.rs:2244:5:2245:13 | S | +| main.rs:2277:35:2279:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2278:13:2278:13 | x | | main.rs:2244:5:2245:13 | S | | main.rs:2278:17:2278:21 | slice | | file://:0:0:0:0 | & | | main.rs:2278:17:2278:21 | slice | &T | file://:0:0:0:0 | [] | @@ -4720,12 +5207,14 @@ inferType | main.rs:2285:9:2285:9 | a | | main.rs:2281:20:2281:34 | T | | main.rs:2285:9:2285:12 | a[b] | | {EXTERNAL LOCATION} | Output | | main.rs:2285:11:2285:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2288:16:2299:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2289:17:2289:19 | vec | | main.rs:2253:5:2256:5 | MyVec | | main.rs:2289:17:2289:19 | vec | T | main.rs:2244:5:2245:13 | S | | main.rs:2289:23:2289:34 | ...::new(...) | | main.rs:2253:5:2256:5 | MyVec | | main.rs:2289:23:2289:34 | ...::new(...) | T | main.rs:2244:5:2245:13 | S | | main.rs:2290:9:2290:11 | vec | | main.rs:2253:5:2256:5 | MyVec | | main.rs:2290:9:2290:11 | vec | T | main.rs:2244:5:2245:13 | S | +| main.rs:2290:9:2290:19 | vec.push(...) | | file://:0:0:0:0 | () | | main.rs:2290:18:2290:18 | S | | main.rs:2244:5:2245:13 | S | | main.rs:2291:9:2291:11 | vec | | main.rs:2253:5:2256:5 | MyVec | | main.rs:2291:9:2291:11 | vec | T | main.rs:2244:5:2245:13 | S | @@ -4749,6 +5238,7 @@ inferType | main.rs:2296:29:2296:31 | vec | T | main.rs:2244:5:2245:13 | S | | main.rs:2296:34:2296:34 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2296:34:2296:34 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2298:9:2298:26 | analyze_slice(...) | | file://:0:0:0:0 | () | | main.rs:2298:23:2298:25 | &xs | | file://:0:0:0:0 | & | | main.rs:2298:23:2298:25 | &xs | &T | file://:0:0:0:0 | [] | | main.rs:2298:23:2298:25 | &xs | &T | file://:0:0:0:0 | [] | @@ -4756,6 +5246,7 @@ inferType | main.rs:2298:23:2298:25 | &xs | &T.[T] | main.rs:2244:5:2245:13 | S | | main.rs:2298:24:2298:25 | xs | | file://:0:0:0:0 | [] | | main.rs:2298:24:2298:25 | xs | [T;...] | main.rs:2244:5:2245:13 | S | +| main.rs:2303:16:2305:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2304:13:2304:13 | x | | {EXTERNAL LOCATION} | String | | main.rs:2304:17:2304:46 | MacroExpr | | {EXTERNAL LOCATION} | String | | main.rs:2304:25:2304:35 | "Hello, {}" | | file://:0:0:0:0 | & | @@ -4886,6 +5377,7 @@ inferType | main.rs:2452:15:2452:15 | x | | {EXTERNAL LOCATION} | bool | | main.rs:2452:32:2454:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:2453:13:2453:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2457:16:2482:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2458:13:2458:13 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2458:22:2458:23 | 73 | | {EXTERNAL LOCATION} | i32 | | main.rs:2458:22:2458:23 | 73 | | {EXTERNAL LOCATION} | i64 | @@ -4959,12 +5451,14 @@ inferType | main.rs:2493:31:2495:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2498:16:2605:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2501:13:2501:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:18:2501:26 | [...] | | file://:0:0:0:0 | [] | | main.rs:2501:18:2501:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2501:19:2501:19 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:22:2501:22 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:25:2501:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2501:28:2501:29 | { ... } | | file://:0:0:0:0 | () | | main.rs:2502:18:2502:26 | [...] | | file://:0:0:0:0 | [] | | main.rs:2502:18:2502:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2502:18:2502:41 | ... .map(...) | | file://:0:0:0:0 | [] | @@ -4974,6 +5468,7 @@ inferType | main.rs:2502:32:2502:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn FnOnce | | main.rs:2502:32:2502:40 | \|...\| ... | dyn(Args) | file://:0:0:0:0 | (T_1) | | main.rs:2502:40:2502:40 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2502:43:2502:44 | { ... } | | file://:0:0:0:0 | () | | main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | Item | | main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2503:18:2503:26 | [...] | | file://:0:0:0:0 | [] | @@ -4983,6 +5478,7 @@ inferType | main.rs:2503:19:2503:19 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2503:22:2503:22 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2503:25:2503:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2503:40:2503:41 | { ... } | | file://:0:0:0:0 | () | | main.rs:2505:13:2505:17 | vals1 | | file://:0:0:0:0 | [] | | main.rs:2505:13:2505:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2505:13:2505:17 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | @@ -4999,6 +5495,7 @@ inferType | main.rs:2506:18:2506:22 | vals1 | | file://:0:0:0:0 | [] | | main.rs:2506:18:2506:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2506:18:2506:22 | vals1 | [T;...] | {EXTERNAL LOCATION} | u8 | +| main.rs:2506:24:2506:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2508:13:2508:17 | vals2 | | file://:0:0:0:0 | [] | | main.rs:2508:13:2508:17 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | | main.rs:2508:21:2508:29 | [1u16; 3] | | file://:0:0:0:0 | [] | @@ -5008,6 +5505,7 @@ inferType | main.rs:2509:13:2509:13 | u | | {EXTERNAL LOCATION} | u16 | | main.rs:2509:18:2509:22 | vals2 | | file://:0:0:0:0 | [] | | main.rs:2509:18:2509:22 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | +| main.rs:2509:24:2509:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2511:13:2511:17 | vals3 | | file://:0:0:0:0 | [] | | main.rs:2511:13:2511:17 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | | main.rs:2511:26:2511:26 | 3 | | {EXTERNAL LOCATION} | i32 | @@ -5023,6 +5521,7 @@ inferType | main.rs:2512:13:2512:13 | u | | {EXTERNAL LOCATION} | u32 | | main.rs:2512:18:2512:22 | vals3 | | file://:0:0:0:0 | [] | | main.rs:2512:18:2512:22 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | +| main.rs:2512:24:2512:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2514:13:2514:17 | vals4 | | file://:0:0:0:0 | [] | | main.rs:2514:13:2514:17 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | | main.rs:2514:26:2514:26 | 3 | | {EXTERNAL LOCATION} | i32 | @@ -5035,6 +5534,7 @@ inferType | main.rs:2515:13:2515:13 | u | | {EXTERNAL LOCATION} | u64 | | main.rs:2515:18:2515:22 | vals4 | | file://:0:0:0:0 | [] | | main.rs:2515:18:2515:22 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | +| main.rs:2515:24:2515:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2517:17:2517:24 | strings1 | | file://:0:0:0:0 | [] | | main.rs:2517:17:2517:24 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2517:17:2517:24 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | @@ -5058,6 +5558,7 @@ inferType | main.rs:2518:19:2518:26 | strings1 | | file://:0:0:0:0 | [] | | main.rs:2518:19:2518:26 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2518:19:2518:26 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2518:28:2518:29 | { ... } | | file://:0:0:0:0 | () | | main.rs:2519:13:2519:13 | s | | {EXTERNAL LOCATION} | Item | | main.rs:2519:13:2519:13 | s | | file://:0:0:0:0 | & | | main.rs:2519:13:2519:13 | s | &T | file://:0:0:0:0 | & | @@ -5069,11 +5570,13 @@ inferType | main.rs:2519:23:2519:30 | strings1 | | file://:0:0:0:0 | [] | | main.rs:2519:23:2519:30 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2519:23:2519:30 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2519:32:2519:33 | { ... } | | file://:0:0:0:0 | () | | main.rs:2520:13:2520:13 | s | | file://:0:0:0:0 | & | | main.rs:2520:13:2520:13 | s | &T | {EXTERNAL LOCATION} | str | | main.rs:2520:18:2520:25 | strings1 | | file://:0:0:0:0 | [] | | main.rs:2520:18:2520:25 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2520:18:2520:25 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | +| main.rs:2520:27:2520:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:2522:13:2522:20 | strings2 | | file://:0:0:0:0 | [] | | main.rs:2522:13:2522:20 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | | main.rs:2523:9:2527:9 | [...] | | file://:0:0:0:0 | [] | @@ -5090,6 +5593,7 @@ inferType | main.rs:2528:13:2528:13 | s | | {EXTERNAL LOCATION} | String | | main.rs:2528:18:2528:25 | strings2 | | file://:0:0:0:0 | [] | | main.rs:2528:18:2528:25 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2528:27:2528:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:2530:13:2530:20 | strings3 | | file://:0:0:0:0 | & | | main.rs:2530:13:2530:20 | strings3 | &T | file://:0:0:0:0 | [] | | main.rs:2530:13:2530:20 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | @@ -5113,6 +5617,7 @@ inferType | main.rs:2536:18:2536:25 | strings3 | | file://:0:0:0:0 | & | | main.rs:2536:18:2536:25 | strings3 | &T | file://:0:0:0:0 | [] | | main.rs:2536:18:2536:25 | strings3 | &T.[T;...] | {EXTERNAL LOCATION} | String | +| main.rs:2536:27:2536:28 | { ... } | | file://:0:0:0:0 | () | | main.rs:2538:13:2538:21 | callables | | file://:0:0:0:0 | [] | | main.rs:2538:13:2538:21 | callables | [T;...] | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2538:25:2538:81 | [...] | | file://:0:0:0:0 | [] | @@ -5123,6 +5628,7 @@ inferType | main.rs:2539:13:2539:13 | c | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2540:12:2540:20 | callables | | file://:0:0:0:0 | [] | | main.rs:2540:12:2540:20 | callables | [T;...] | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2541:9:2543:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:2542:17:2542:22 | result | | {EXTERNAL LOCATION} | i64 | | main.rs:2542:26:2542:26 | c | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2542:26:2542:33 | c.call() | | {EXTERNAL LOCATION} | i64 | @@ -5132,6 +5638,7 @@ inferType | main.rs:2547:18:2547:22 | 0..10 | | {EXTERNAL LOCATION} | Range | | main.rs:2547:18:2547:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2547:21:2547:22 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2547:24:2547:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2548:13:2548:13 | u | | {EXTERNAL LOCATION} | Range | | main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | u8 | @@ -5145,6 +5652,7 @@ inferType | main.rs:2548:19:2548:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | | main.rs:2548:24:2548:25 | 10 | | {EXTERNAL LOCATION} | i32 | | main.rs:2548:24:2548:25 | 10 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2548:28:2548:29 | { ... } | | file://:0:0:0:0 | () | | main.rs:2549:13:2549:17 | range | | {EXTERNAL LOCATION} | Range | | main.rs:2549:13:2549:17 | range | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2549:21:2549:21 | 0 | | {EXTERNAL LOCATION} | i32 | @@ -5155,6 +5663,7 @@ inferType | main.rs:2550:13:2550:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2550:18:2550:22 | range | | {EXTERNAL LOCATION} | Range | | main.rs:2550:18:2550:22 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2550:24:2550:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2551:13:2551:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | | main.rs:2551:26:2551:27 | .. | | {EXTERNAL LOCATION} | RangeFull | | main.rs:2552:13:2552:13 | i | | {EXTERNAL LOCATION} | Item | @@ -5165,6 +5674,7 @@ inferType | main.rs:2552:26:2552:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2552:32:2552:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2552:38:2552:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2552:50:2552:51 | { ... } | | file://:0:0:0:0 | () | | main.rs:2554:13:2554:18 | range1 | | {EXTERNAL LOCATION} | Range | | main.rs:2554:13:2554:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | | main.rs:2555:9:2558:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | @@ -5175,9 +5685,11 @@ inferType | main.rs:2559:13:2559:13 | u | | {EXTERNAL LOCATION} | u16 | | main.rs:2559:18:2559:23 | range1 | | {EXTERNAL LOCATION} | Range | | main.rs:2559:18:2559:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2559:25:2559:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:2563:26:2563:26 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2563:29:2563:29 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2563:32:2563:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2564:24:2564:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2566:13:2566:18 | vals4a | | {EXTERNAL LOCATION} | Vec | | main.rs:2566:13:2566:18 | vals4a | A | {EXTERNAL LOCATION} | Global | | main.rs:2566:13:2566:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | @@ -5195,12 +5707,14 @@ inferType | main.rs:2567:18:2567:23 | vals4a | | {EXTERNAL LOCATION} | Vec | | main.rs:2567:18:2567:23 | vals4a | A | {EXTERNAL LOCATION} | Global | | main.rs:2567:18:2567:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2567:25:2567:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:2569:22:2569:33 | [...] | | file://:0:0:0:0 | [] | | main.rs:2569:22:2569:33 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2569:22:2569:33 | [...] | [T;...] | {EXTERNAL LOCATION} | u16 | | main.rs:2569:23:2569:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2569:29:2569:29 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2569:32:2569:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2570:25:2570:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:2572:13:2572:17 | vals5 | | {EXTERNAL LOCATION} | Vec | | main.rs:2572:13:2572:17 | vals5 | A | {EXTERNAL LOCATION} | Global | | main.rs:2572:13:2572:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | @@ -5222,6 +5736,7 @@ inferType | main.rs:2573:18:2573:22 | vals5 | A | {EXTERNAL LOCATION} | Global | | main.rs:2573:18:2573:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | | main.rs:2573:18:2573:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2573:24:2573:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2575:13:2575:17 | vals6 | | {EXTERNAL LOCATION} | Vec | | main.rs:2575:13:2575:17 | vals6 | A | {EXTERNAL LOCATION} | Global | | main.rs:2575:13:2575:17 | vals6 | T | file://:0:0:0:0 | & | @@ -5242,6 +5757,7 @@ inferType | main.rs:2576:18:2576:22 | vals6 | A | {EXTERNAL LOCATION} | Global | | main.rs:2576:18:2576:22 | vals6 | T | file://:0:0:0:0 | & | | main.rs:2576:18:2576:22 | vals6 | T.&T | {EXTERNAL LOCATION} | u64 | +| main.rs:2576:24:2576:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2578:17:2578:21 | vals7 | | {EXTERNAL LOCATION} | Vec | | main.rs:2578:17:2578:21 | vals7 | A | {EXTERNAL LOCATION} | Global | | main.rs:2578:17:2578:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | @@ -5251,16 +5767,19 @@ inferType | main.rs:2579:9:2579:13 | vals7 | | {EXTERNAL LOCATION} | Vec | | main.rs:2579:9:2579:13 | vals7 | A | {EXTERNAL LOCATION} | Global | | main.rs:2579:9:2579:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2579:9:2579:23 | vals7.push(...) | | file://:0:0:0:0 | () | | main.rs:2579:20:2579:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | | main.rs:2580:13:2580:13 | u | | {EXTERNAL LOCATION} | u8 | | main.rs:2580:13:2580:13 | u | | file://:0:0:0:0 | & | | main.rs:2580:18:2580:22 | vals7 | | {EXTERNAL LOCATION} | Vec | | main.rs:2580:18:2580:22 | vals7 | A | {EXTERNAL LOCATION} | Global | | main.rs:2580:18:2580:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2580:24:2580:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2582:33:2582:33 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2582:36:2582:36 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2582:45:2582:45 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2582:48:2582:48 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2585:29:2586:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2589:17:2589:20 | map1 | | {EXTERNAL LOCATION} | HashMap | | main.rs:2589:17:2589:20 | map1 | K | {EXTERNAL LOCATION} | i32 | | main.rs:2589:17:2589:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | @@ -5329,6 +5848,7 @@ inferType | main.rs:2592:20:2592:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | | main.rs:2592:20:2592:30 | map1.keys() | V.T | file://:0:0:0:0 | & | | main.rs:2592:20:2592:30 | map1.keys() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2592:32:2592:33 | { ... } | | file://:0:0:0:0 | () | | main.rs:2593:13:2593:17 | value | | {EXTERNAL LOCATION} | Item | | main.rs:2593:13:2593:17 | value | | file://:0:0:0:0 | & | | main.rs:2593:13:2593:17 | value | &T | {EXTERNAL LOCATION} | Box | @@ -5348,6 +5868,7 @@ inferType | main.rs:2593:22:2593:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | | main.rs:2593:22:2593:34 | map1.values() | V.T | file://:0:0:0:0 | & | | main.rs:2593:22:2593:34 | map1.values() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2593:36:2593:37 | { ... } | | file://:0:0:0:0 | () | | main.rs:2594:13:2594:24 | TuplePat | | file://:0:0:0:0 | (T_2) | | main.rs:2594:13:2594:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | | main.rs:2594:13:2594:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | @@ -5376,6 +5897,7 @@ inferType | main.rs:2594:29:2594:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | | main.rs:2594:29:2594:39 | map1.iter() | V.T | file://:0:0:0:0 | & | | main.rs:2594:29:2594:39 | map1.iter() | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2594:41:2594:42 | { ... } | | file://:0:0:0:0 | () | | main.rs:2595:13:2595:24 | TuplePat | | file://:0:0:0:0 | (T_2) | | main.rs:2595:13:2595:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | | main.rs:2595:13:2595:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | @@ -5406,6 +5928,7 @@ inferType | main.rs:2595:30:2595:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | | main.rs:2595:30:2595:33 | map1 | V.T | file://:0:0:0:0 | & | | main.rs:2595:30:2595:33 | map1 | V.T.&T | {EXTERNAL LOCATION} | str | +| main.rs:2595:35:2595:36 | { ... } | | file://:0:0:0:0 | () | | main.rs:2599:17:2599:17 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i64 | @@ -5413,6 +5936,7 @@ inferType | main.rs:2601:23:2601:28 | ... < ... | | {EXTERNAL LOCATION} | bool | | main.rs:2601:27:2601:28 | 10 | | {EXTERNAL LOCATION} | i32 | | main.rs:2601:27:2601:28 | 10 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2602:9:2604:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:2603:13:2603:13 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2603:13:2603:18 | ... += ... | | file://:0:0:0:0 | () | | main.rs:2603:18:2603:18 | 1 | | {EXTERNAL LOCATION} | i32 | @@ -5436,6 +5960,7 @@ inferType | main.rs:2636:15:2636:15 | x | | main.rs:2636:12:2636:12 | T | | main.rs:2636:26:2638:5 | { ... } | | main.rs:2636:12:2636:12 | T | | main.rs:2637:9:2637:9 | x | | main.rs:2636:12:2636:12 | T | +| main.rs:2640:16:2662:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2641:13:2641:14 | x1 | | {EXTERNAL LOCATION} | Option | | main.rs:2641:13:2641:14 | x1 | T | main.rs:2609:5:2609:20 | S1 | | main.rs:2641:13:2641:14 | x1 | T.T | main.rs:2611:5:2612:14 | S2 | @@ -5522,6 +6047,8 @@ inferType | main.rs:2671:14:2671:18 | S1 {...} | | main.rs:2666:5:2667:16 | S1 | | main.rs:2671:21:2671:25 | S1 {...} | | main.rs:2666:5:2667:16 | S1 | | main.rs:2673:16:2673:19 | SelfParam | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2673:22:2673:23 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2676:16:2710:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2677:13:2677:13 | a | | file://:0:0:0:0 | (T_2) | | main.rs:2677:13:2677:13 | a | 0(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2677:13:2677:13 | a | 1(2) | main.rs:2666:5:2667:16 | S1 | @@ -5562,16 +6089,24 @@ inferType | main.rs:2683:9:2683:9 | a | 0(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2683:9:2683:9 | a | 1(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2683:9:2683:11 | a.0 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2683:9:2683:17 | ... .foo() | | file://:0:0:0:0 | () | | main.rs:2684:9:2684:9 | b | | file://:0:0:0:0 | (T_2) | | main.rs:2684:9:2684:9 | b | 0(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2684:9:2684:9 | b | 1(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2684:9:2684:11 | b.1 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2684:9:2684:17 | ... .foo() | | file://:0:0:0:0 | () | | main.rs:2685:9:2685:9 | c | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2685:9:2685:15 | c.foo() | | file://:0:0:0:0 | () | | main.rs:2686:9:2686:9 | d | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2686:9:2686:15 | d.foo() | | file://:0:0:0:0 | () | | main.rs:2687:9:2687:9 | e | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2687:9:2687:15 | e.foo() | | file://:0:0:0:0 | () | | main.rs:2688:9:2688:9 | f | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2688:9:2688:15 | f.foo() | | file://:0:0:0:0 | () | | main.rs:2689:9:2689:9 | g | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2689:9:2689:15 | g.foo() | | file://:0:0:0:0 | () | | main.rs:2690:9:2690:9 | h | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2690:9:2690:15 | h.foo() | | file://:0:0:0:0 | () | | main.rs:2695:13:2695:13 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2695:17:2695:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2696:13:2696:13 | b | | {EXTERNAL LOCATION} | bool | @@ -5604,6 +6139,7 @@ inferType | main.rs:2701:20:2701:32 | ... .into() | 1(2) | {EXTERNAL LOCATION} | i32 | | main.rs:2701:21:2701:21 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2701:24:2701:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:9:2705:9 | match pair { ... } | | file://:0:0:0:0 | () | | main.rs:2702:15:2702:18 | pair | | file://:0:0:0:0 | (T_2) | | main.rs:2702:15:2702:18 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | | main.rs:2702:15:2702:18 | pair | 1(2) | {EXTERNAL LOCATION} | i32 | @@ -5612,17 +6148,23 @@ inferType | main.rs:2703:13:2703:18 | TuplePat | 1(2) | {EXTERNAL LOCATION} | i32 | | main.rs:2703:14:2703:14 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2703:17:2703:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2703:23:2703:42 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:2703:30:2703:41 | "unexpected" | | file://:0:0:0:0 | & | | main.rs:2703:30:2703:41 | "unexpected" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2703:30:2703:41 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:2703:30:2703:41 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2703:30:2703:41 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2703:30:2703:41 | { ... } | | file://:0:0:0:0 | () | | main.rs:2704:13:2704:13 | _ | | file://:0:0:0:0 | (T_2) | | main.rs:2704:13:2704:13 | _ | 0(2) | {EXTERNAL LOCATION} | i32 | | main.rs:2704:13:2704:13 | _ | 1(2) | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:18:2704:35 | MacroExpr | | file://:0:0:0:0 | () | | main.rs:2704:25:2704:34 | "expected" | | file://:0:0:0:0 | & | | main.rs:2704:25:2704:34 | "expected" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2704:25:2704:34 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:2704:25:2704:34 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2704:25:2704:34 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2704:25:2704:34 | { ... } | | file://:0:0:0:0 | () | | main.rs:2706:13:2706:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:2706:17:2706:20 | pair | | file://:0:0:0:0 | (T_2) | | main.rs:2706:17:2706:20 | pair | 0(2) | {EXTERNAL LOCATION} | i32 | @@ -5644,6 +6186,8 @@ inferType | main.rs:2709:9:2709:9 | y | &T.0(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2709:9:2709:9 | y | &T.1(2) | main.rs:2666:5:2667:16 | S1 | | main.rs:2709:9:2709:11 | y.0 | | main.rs:2666:5:2667:16 | S1 | +| main.rs:2709:9:2709:17 | ... .foo() | | file://:0:0:0:0 | () | +| main.rs:2715:27:2737:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2716:13:2716:23 | boxed_value | | {EXTERNAL LOCATION} | Box | | main.rs:2716:13:2716:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | | main.rs:2716:13:2716:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | @@ -5651,6 +6195,7 @@ inferType | main.rs:2716:27:2716:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2716:27:2716:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | | main.rs:2716:36:2716:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:9:2727:9 | match boxed_value { ... } | | file://:0:0:0:0 | () | | main.rs:2719:15:2719:25 | boxed_value | | {EXTERNAL LOCATION} | Box | | main.rs:2719:15:2719:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | | main.rs:2719:15:2719:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | @@ -5658,17 +6203,23 @@ inferType | main.rs:2720:13:2720:19 | box 100 | A | {EXTERNAL LOCATION} | Global | | main.rs:2720:13:2720:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | | main.rs:2720:17:2720:19 | 100 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2720:24:2722:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2721:26:2721:36 | "Boxed 100\\n" | | file://:0:0:0:0 | & | | main.rs:2721:26:2721:36 | "Boxed 100\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2721:26:2721:36 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:2721:26:2721:36 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2721:26:2721:36 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2721:26:2721:36 | { ... } | | file://:0:0:0:0 | () | | main.rs:2723:13:2723:17 | box ... | | {EXTERNAL LOCATION} | Box | | main.rs:2723:13:2723:17 | box ... | A | {EXTERNAL LOCATION} | Global | | main.rs:2723:13:2723:17 | box ... | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2723:22:2726:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2725:26:2725:42 | "Boxed value: {}\\n" | | file://:0:0:0:0 | & | | main.rs:2725:26:2725:42 | "Boxed value: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2725:26:2725:51 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:2725:26:2725:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2725:26:2725:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2725:26:2725:51 | { ... } | | file://:0:0:0:0 | () | | main.rs:2730:13:2730:22 | nested_box | | {EXTERNAL LOCATION} | Box | | main.rs:2730:13:2730:22 | nested_box | A | {EXTERNAL LOCATION} | Global | | main.rs:2730:13:2730:22 | nested_box | T | {EXTERNAL LOCATION} | Box | @@ -5683,6 +6234,7 @@ inferType | main.rs:2730:35:2730:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2730:35:2730:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | | main.rs:2730:44:2730:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2731:9:2736:9 | match nested_box { ... } | | file://:0:0:0:0 | () | | main.rs:2731:15:2731:24 | nested_box | | {EXTERNAL LOCATION} | Box | | main.rs:2731:15:2731:24 | nested_box | A | {EXTERNAL LOCATION} | Global | | main.rs:2731:15:2731:24 | nested_box | T | {EXTERNAL LOCATION} | Box | @@ -5693,10 +6245,13 @@ inferType | main.rs:2732:13:2732:21 | box ... | T | {EXTERNAL LOCATION} | Box | | main.rs:2732:13:2732:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | | main.rs:2732:13:2732:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2732:26:2735:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2734:26:2734:43 | "Nested boxed: {}\\n" | | file://:0:0:0:0 | & | | main.rs:2734:26:2734:43 | "Nested boxed: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2734:26:2734:59 | ...::_print(...) | | file://:0:0:0:0 | () | | main.rs:2734:26:2734:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2734:26:2734:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2734:26:2734:59 | { ... } | | file://:0:0:0:0 | () | | main.rs:2746:36:2748:9 | { ... } | | main.rs:2743:5:2743:22 | Path | | main.rs:2747:13:2747:19 | Path {...} | | main.rs:2743:5:2743:22 | Path | | main.rs:2750:29:2750:33 | SelfParam | | file://:0:0:0:0 | & | @@ -5718,6 +6273,7 @@ inferType | main.rs:2771:13:2771:17 | &path | | file://:0:0:0:0 | & | | main.rs:2771:13:2771:17 | &path | &T | main.rs:2743:5:2743:22 | Path | | main.rs:2771:14:2771:17 | path | | main.rs:2743:5:2743:22 | Path | +| main.rs:2775:16:2783:5 | { ... } | | file://:0:0:0:0 | () | | main.rs:2776:13:2776:17 | path1 | | main.rs:2743:5:2743:22 | Path | | main.rs:2776:21:2776:31 | ...::new(...) | | main.rs:2743:5:2743:22 | Path | | main.rs:2777:13:2777:17 | path2 | | {EXTERNAL LOCATION} | Result | @@ -5868,11 +6424,42 @@ inferType | main.rs:2835:13:2835:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:2835:13:2835:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | | main.rs:2835:17:2835:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2845:11:2880:1 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2846:5:2846:21 | ...::f(...) | | file://:0:0:0:0 | () | | main.rs:2847:5:2847:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | | main.rs:2848:5:2848:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | | main.rs:2848:20:2848:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | | main.rs:2848:41:2848:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2849:5:2849:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2850:5:2850:41 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2851:5:2851:45 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2852:5:2852:30 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2853:5:2853:33 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2854:5:2854:21 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2855:5:2855:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2856:5:2856:32 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2857:5:2857:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2858:5:2858:36 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2859:5:2859:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2860:5:2860:29 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2861:5:2861:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2862:5:2862:24 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2863:5:2863:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2864:5:2864:18 | ...::f(...) | | file://:0:0:0:0 | () | | main.rs:2865:5:2865:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2865:5:2865:15 | ...::f(...) | Output | file://:0:0:0:0 | () | +| main.rs:2866:5:2866:19 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2867:5:2867:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2868:5:2868:14 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2869:5:2869:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2870:5:2870:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2871:5:2871:43 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2872:5:2872:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2873:5:2873:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2874:5:2874:23 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2875:5:2875:41 | ...::test_all_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2876:5:2876:49 | ...::box_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2877:5:2877:20 | ...::test(...) | | file://:0:0:0:0 | () | | main.rs:2878:5:2878:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | | main.rs:2878:5:2878:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2878:5:2878:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | @@ -5886,17 +6473,21 @@ inferType | pattern_matching.rs:14:17:14:24 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:14:17:14:24 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:14:22:14:23 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:15:5:18:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:15:12:15:21 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:15:12:15:21 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:15:17:15:20 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:15:25:15:29 | value | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:15:25:15:29 | value | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:15:31:18:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:16:13:16:16 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:16:20:16:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:17:18:17:25 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:17:18:17:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:17:18:17:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:17:18:17:25 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:17:20:17:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:19:5:25:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:19:11:19:15 | value | | {EXTERNAL LOCATION} | Option | @@ -5904,12 +6495,15 @@ inferType | pattern_matching.rs:20:9:20:18 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:20:9:20:18 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:20:14:20:17 | mesg | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:20:23:23:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:21:17:21:20 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:21:24:21:27 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:22:22:22:29 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:22:22:22:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:22:22:22:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:22:22:22:29 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:22:24:22:27 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:24:9:24:12 | None | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:24:9:24:12 | None | T | {EXTERNAL LOCATION} | i32 | @@ -5922,8 +6516,10 @@ inferType | pattern_matching.rs:27:16:27:19 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:28:14:28:21 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:28:14:28:21 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:28:14:28:21 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:28:14:28:21 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:28:16:28:19 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:29:9:29:12 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:29:16:29:20 | value | | {EXTERNAL LOCATION} | Option | @@ -5931,8 +6527,10 @@ inferType | pattern_matching.rs:29:16:29:21 | TryExpr | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:30:14:30:21 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:30:14:30:21 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:30:14:30:21 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:30:14:30:21 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:30:16:30:19 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:32:9:32:14 | value2 | | file://:0:0:0:0 | & | | pattern_matching.rs:32:9:32:14 | value2 | &T | {EXTERNAL LOCATION} | Option | @@ -5943,6 +6541,7 @@ inferType | pattern_matching.rs:32:19:32:26 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:32:19:32:26 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:32:24:32:25 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:33:5:36:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:33:12:33:22 | &... | | file://:0:0:0:0 | & | | pattern_matching.rs:33:12:33:22 | &... | &T | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:33:12:33:22 | &... | &T.T | {EXTERNAL LOCATION} | i32 | @@ -5952,26 +6551,33 @@ inferType | pattern_matching.rs:33:26:33:31 | value2 | | file://:0:0:0:0 | & | | pattern_matching.rs:33:26:33:31 | value2 | &T | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:33:26:33:31 | value2 | &T.T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:33:33:36:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:34:13:34:16 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:34:20:34:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:35:18:35:25 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:35:18:35:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:35:18:35:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:35:18:35:25 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:35:20:35:23 | mesg | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:38:9:38:14 | value3 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:38:18:38:19 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:39:5:42:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:39:16:39:19 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:39:16:39:19 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:39:23:39:28 | value3 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:39:30:42:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:40:13:40:16 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:40:13:40:16 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:40:20:40:23 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:40:20:40:23 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:41:18:41:25 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:41:18:41:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:41:18:41:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:41:18:41:25 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:41:20:41:23 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:41:20:41:23 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:44:9:44:14 | value4 | | {EXTERNAL LOCATION} | Option | @@ -5979,20 +6585,24 @@ inferType | pattern_matching.rs:44:18:44:25 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:44:18:44:25 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:44:23:44:24 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:45:5:48:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:45:12:45:25 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:45:12:45:25 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:45:21:45:24 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:45:21:45:24 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:45:29:45:34 | value4 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:45:29:45:34 | value4 | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:45:36:48:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:46:13:46:16 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:46:13:46:16 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:46:20:46:23 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:46:20:46:23 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:47:18:47:25 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:47:18:47:25 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:47:18:47:25 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:47:18:47:25 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:47:20:47:23 | mesg | | file://:0:0:0:0 | & | | pattern_matching.rs:47:20:47:23 | mesg | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:50:13:50:18 | value5 | | file://:0:0:0:0 | & | @@ -6010,6 +6620,7 @@ inferType | pattern_matching.rs:53:28:56:5 | MyRecordStruct {...} | T2 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:54:17:54:18 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:55:17:55:21 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:57:5:61:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:57:12:57:44 | MyRecordStruct {...} | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | | pattern_matching.rs:57:12:57:44 | MyRecordStruct {...} | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:57:12:57:44 | MyRecordStruct {...} | T2 | {EXTERNAL LOCATION} | bool | @@ -6018,6 +6629,7 @@ inferType | pattern_matching.rs:57:48:57:63 | my_record_struct | | pattern_matching.rs:1:1:4:1 | MyRecordStruct | | pattern_matching.rs:57:48:57:63 | my_record_struct | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:57:48:57:63 | my_record_struct | T2 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:57:65:61:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:58:13:58:13 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:58:17:58:22 | value1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:59:13:59:13 | y | | {EXTERNAL LOCATION} | bool | @@ -6031,6 +6643,7 @@ inferType | pattern_matching.rs:63:27:63:50 | MyTupleStruct(...) | T2 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:63:41:63:42 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:63:45:63:49 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:64:5:68:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:64:12:64:40 | MyTupleStruct(...) | | pattern_matching.rs:6:1:6:37 | MyTupleStruct | | pattern_matching.rs:64:12:64:40 | MyTupleStruct(...) | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:64:12:64:40 | MyTupleStruct(...) | T2 | {EXTERNAL LOCATION} | bool | @@ -6039,6 +6652,7 @@ inferType | pattern_matching.rs:64:44:64:58 | my_tuple_struct | | pattern_matching.rs:6:1:6:37 | MyTupleStruct | | pattern_matching.rs:64:44:64:58 | my_tuple_struct | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:64:44:64:58 | my_tuple_struct | T2 | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:64:60:68:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:65:13:65:13 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:65:17:65:22 | value1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:66:13:66:13 | y | | {EXTERNAL LOCATION} | bool | @@ -6052,6 +6666,7 @@ inferType | pattern_matching.rs:70:20:73:5 | ...::Variant1 {...} | T2 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:71:17:71:18 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:72:17:72:21 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:74:5:85:5 | match my_enum1 { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:74:11:74:18 | my_enum1 | | pattern_matching.rs:8:1:11:1 | MyEnum | | pattern_matching.rs:74:11:74:18 | my_enum1 | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:74:11:74:18 | my_enum1 | T2 | {EXTERNAL LOCATION} | bool | @@ -6060,6 +6675,7 @@ inferType | pattern_matching.rs:75:9:75:43 | ...::Variant1 {...} | T2 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:75:28:75:33 | value1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:75:36:75:41 | value2 | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:75:48:79:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:76:17:76:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:76:21:76:26 | value1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:77:17:77:17 | y | | {EXTERNAL LOCATION} | bool | @@ -6070,6 +6686,7 @@ inferType | pattern_matching.rs:80:9:80:40 | ...::Variant2(...) | T2 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:80:26:80:31 | value1 | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:80:34:80:39 | value2 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:80:45:84:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:81:17:81:17 | x | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:81:21:81:26 | value1 | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:82:17:82:17 | y | | {EXTERNAL LOCATION} | i32 | @@ -6116,6 +6733,7 @@ inferType | pattern_matching.rs:99:25:99:25 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:100:25:100:25 | y | | file://:0:0:0:0 | & | | pattern_matching.rs:100:25:100:25 | y | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:102:14:107:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:103:17:103:17 | a | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:103:21:103:26 | value1 | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:104:17:104:17 | b | | {EXTERNAL LOCATION} | i32 | @@ -6137,132 +6755,177 @@ inferType | pattern_matching.rs:111:16:111:39 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:111:16:111:39 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:111:21:111:38 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:113:9:113:9 | _ | | file://:0:0:0:0 | () | +| pattern_matching.rs:113:13:116:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:113:20:113:33 | Some::<...>(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:113:20:113:33 | Some::<...>(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:113:32:113:32 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:113:37:113:40 | opt1 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:113:37:113:40 | opt1 | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:114:5:116:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:115:9:115:9 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:118:9:118:12 | opt2 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:118:9:118:12 | opt2 | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:118:16:118:39 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:118:16:118:39 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:118:21:118:38 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:120:9:120:9 | _ | | file://:0:0:0:0 | () | +| pattern_matching.rs:120:13:123:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:120:20:120:41 | ...::Some::<...>(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:120:20:120:41 | ...::Some::<...>(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:120:40:120:40 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:120:45:120:48 | opt2 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:120:45:120:48 | opt2 | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:121:5:123:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:122:9:122:9 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:125:9:125:12 | opt3 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:125:9:125:12 | opt3 | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:125:16:125:39 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:125:16:125:39 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:125:21:125:38 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:127:9:127:9 | _ | | file://:0:0:0:0 | () | +| pattern_matching.rs:127:13:130:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:127:20:127:41 | ...::Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:127:20:127:41 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:127:40:127:40 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:127:45:127:48 | opt3 | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:127:45:127:48 | opt3 | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:128:5:130:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:129:9:129:9 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:132:5:132:8 | None | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:132:5:132:8 | None | T | file://:0:0:0:0 | () | +| pattern_matching.rs:168:27:217:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:169:9:169:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:169:17:169:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:171:5:186:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:171:11:171:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:173:9:173:10 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:173:15:176:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:174:17:174:29 | literal_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:174:33:174:37 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:175:22:175:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:175:22:175:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:175:22:175:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:175:22:175:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:175:45:175:57 | literal_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:177:10:177:10 | 1 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:177:15:180:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:178:17:178:32 | negative_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:178:36:178:40 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:179:22:179:61 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:179:22:179:61 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:179:22:179:61 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:179:22:179:61 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:179:46:179:61 | negative_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:181:9:181:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:181:14:184:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:182:17:182:28 | zero_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:182:32:182:36 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:183:22:183:53 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:183:22:183:53 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:183:22:183:53 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:183:22:183:53 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:183:42:183:53 | zero_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:185:9:185:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:185:14:185:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:188:9:188:17 | float_val | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:188:21:188:27 | 3.14f64 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:189:5:195:5 | match float_val { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:189:11:189:19 | float_val | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:190:9:190:12 | 3.14 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:190:17:193:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:191:17:191:24 | pi_match | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:191:28:191:36 | float_val | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:192:22:192:47 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:192:22:192:47 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:192:22:192:47 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:192:22:192:47 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:192:40:192:47 | pi_match | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:194:9:194:9 | _ | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:194:14:194:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:197:9:197:18 | string_val | | file://:0:0:0:0 | & | | pattern_matching.rs:197:9:197:18 | string_val | &T | {EXTERNAL LOCATION} | str | | pattern_matching.rs:197:22:197:28 | "hello" | | file://:0:0:0:0 | & | | pattern_matching.rs:197:22:197:28 | "hello" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:198:5:204:5 | match string_val { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:198:11:198:20 | string_val | | file://:0:0:0:0 | & | | pattern_matching.rs:198:11:198:20 | string_val | &T | {EXTERNAL LOCATION} | str | | pattern_matching.rs:199:9:199:15 | "hello" | | file://:0:0:0:0 | & | | pattern_matching.rs:199:9:199:15 | "hello" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:199:20:202:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:200:17:200:27 | hello_match | | file://:0:0:0:0 | & | | pattern_matching.rs:200:17:200:27 | hello_match | &T | {EXTERNAL LOCATION} | str | | pattern_matching.rs:200:31:200:40 | string_val | | file://:0:0:0:0 | & | | pattern_matching.rs:200:31:200:40 | string_val | &T | {EXTERNAL LOCATION} | str | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:201:22:201:54 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:201:22:201:54 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:201:22:201:54 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:201:22:201:54 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:201:44:201:54 | hello_match | | file://:0:0:0:0 | & | | pattern_matching.rs:201:44:201:54 | hello_match | &T | {EXTERNAL LOCATION} | str | | pattern_matching.rs:203:9:203:9 | _ | | file://:0:0:0:0 | & | | pattern_matching.rs:203:9:203:9 | _ | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:203:14:203:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:206:9:206:16 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:206:20:206:23 | true | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:207:5:216:5 | match bool_val { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:207:11:207:18 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:208:9:208:12 | true | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:208:17:211:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:209:17:209:26 | true_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:209:30:209:37 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:210:22:210:51 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:210:22:210:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:210:22:210:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:210:22:210:51 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:210:42:210:51 | true_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:212:9:212:13 | false | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:212:18:215:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:213:17:213:27 | false_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:213:31:213:38 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:214:22:214:53 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:214:22:214:53 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:214:22:214:53 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:214:22:214:53 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:214:43:214:53 | false_match | | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:219:30:277:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:220:9:220:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:220:17:220:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:223:5:228:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:223:11:223:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:224:9:224:9 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:224:14:227:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:225:17:225:27 | bound_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:225:31:225:31 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:226:22:226:58 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:226:22:226:58 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:226:22:226:58 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:226:22:226:58 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:226:48:226:58 | bound_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:231:5:236:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:231:11:231:16 | &value | | file://:0:0:0:0 | & | | pattern_matching.rs:231:11:231:16 | &value | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:231:12:231:16 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:232:13:232:13 | x | | file://:0:0:0:0 | & | | pattern_matching.rs:232:13:232:13 | x | &T | file://:0:0:0:0 | & | | pattern_matching.rs:232:13:232:13 | x | &T.&T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:232:18:235:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:233:17:233:25 | ref_bound | | file://:0:0:0:0 | & | | pattern_matching.rs:233:17:233:25 | ref_bound | &T | file://:0:0:0:0 | & | | pattern_matching.rs:233:17:233:25 | ref_bound | &T.&T | {EXTERNAL LOCATION} | i32 | @@ -6271,15 +6934,19 @@ inferType | pattern_matching.rs:233:29:233:29 | x | &T.&T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:234:22:234:60 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:234:22:234:60 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:234:22:234:60 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:234:22:234:60 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:234:52:234:60 | ref_bound | | file://:0:0:0:0 | & | | pattern_matching.rs:234:52:234:60 | ref_bound | &T | file://:0:0:0:0 | & | | pattern_matching.rs:234:52:234:60 | ref_bound | &T.&T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:239:13:239:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:239:29:239:33 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:240:5:246:5 | match mutable_value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:240:11:240:23 | mutable_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:241:13:241:13 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:241:18:245:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:242:17:242:25 | mut_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:242:29:242:29 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:243:13:243:13 | x | | {EXTERNAL LOCATION} | i32 | @@ -6287,63 +6954,80 @@ inferType | pattern_matching.rs:243:18:243:18 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:244:22:244:56 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:244:22:244:56 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:244:22:244:56 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:244:22:244:56 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:244:48:244:56 | mut_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:249:9:249:20 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:249:9:249:20 | option_value | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:249:24:249:44 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:249:24:249:44 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:249:39:249:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:250:5:266:5 | match option_value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:250:11:250:22 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:250:11:250:22 | option_value | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:251:9:251:30 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:251:9:251:30 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:251:24:251:24 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:251:28:251:29 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:251:35:254:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:252:17:252:24 | at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:252:28:252:28 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:253:22:253:59 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:253:22:253:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:253:22:253:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:253:22:253:59 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:253:52:253:59 | at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:255:9:255:35 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:255:9:255:35 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:255:24:255:24 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:255:28:255:28 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:255:32:255:34 | 100 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:255:40:258:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:256:17:256:30 | range_at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:256:34:256:34 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:257:22:257:63 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:257:22:257:63 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:257:22:257:63 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:257:22:257:63 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:257:50:257:63 | range_at_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:259:9:259:25 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:259:9:259:25 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:259:24:259:24 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:259:30:262:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:260:17:260:26 | some_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:260:30:260:30 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:261:22:261:49 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:261:22:261:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:261:22:261:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:261:22:261:49 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:261:40:261:49 | some_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:263:9:263:22 | ...::None | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:263:9:263:22 | ...::None | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:263:27:265:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:264:22:264:33 | "None value\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:264:22:264:33 | "None value\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:264:22:264:33 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:264:22:264:33 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:264:22:264:33 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:264:22:264:33 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:269:13:269:23 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:269:27:269:30 | 5i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:270:5:276:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:270:11:270:26 | &mut ref_mut_val | | file://:0:0:0:0 | & | | pattern_matching.rs:270:11:270:26 | &mut ref_mut_val | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:270:16:270:26 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:271:17:271:17 | x | | file://:0:0:0:0 | & | | pattern_matching.rs:271:17:271:17 | x | &T | file://:0:0:0:0 | & | | pattern_matching.rs:271:17:271:17 | x | &T.&T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:271:22:275:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:272:17:272:29 | ref_mut_bound | | file://:0:0:0:0 | & | | pattern_matching.rs:272:17:272:29 | ref_mut_bound | &T | file://:0:0:0:0 | & | | pattern_matching.rs:272:17:272:29 | ref_mut_bound | &T.&T | {EXTERNAL LOCATION} | i32 | @@ -6360,107 +7044,146 @@ inferType | pattern_matching.rs:273:32:273:32 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:274:22:274:38 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:274:22:274:38 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:274:22:274:38 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:274:22:274:38 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:279:28:290:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:280:9:280:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:280:17:280:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:282:5:289:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:282:11:282:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:283:9:283:10 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:283:15:283:40 | MacroExpr | | file://:0:0:0:0 | () | | pattern_matching.rs:283:24:283:39 | "Specific match\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:283:24:283:39 | "Specific match\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:283:24:283:39 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:283:24:283:39 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:283:24:283:39 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:283:24:283:39 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:285:9:285:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:285:14:288:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:286:17:286:32 | wildcard_context | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:286:36:286:40 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:287:22:287:65 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:287:22:287:65 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:287:22:287:65 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:287:22:287:65 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:287:50:287:65 | wildcard_context | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:292:25:324:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:293:9:293:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:293:17:293:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:295:5:310:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:295:11:295:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:297:9:297:9 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:297:9:297:14 | RangePat | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:297:13:297:14 | 10 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:297:19:300:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:298:17:298:31 | range_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:298:35:298:39 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:299:22:299:59 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:299:22:299:59 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:299:22:299:59 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:299:22:299:59 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:299:45:299:59 | range_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:9:301:10 | 11 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:9:301:12 | RangePat | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:301:17:304:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:302:17:302:26 | range_from | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:302:30:302:34 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:303:22:303:52 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:303:22:303:52 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:303:22:303:52 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:303:22:303:52 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:303:43:303:52 | range_from | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:9:305:12 | RangePat | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:12:305:12 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:305:17:308:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:306:17:306:34 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:306:38:306:42 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:307:22:307:67 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:307:22:307:67 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:307:22:307:67 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:307:22:307:67 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:307:50:307:67 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:309:9:309:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:309:14:309:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:312:9:312:16 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:312:20:312:22 | 'c' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:313:5:323:5 | match char_val { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:313:11:313:18 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:314:9:314:11 | 'a' | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:314:9:314:17 | RangePat | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:314:15:314:17 | 'z' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:314:22:317:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:315:17:315:30 | lowercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:315:34:315:41 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:316:22:316:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:316:22:316:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:316:22:316:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:316:22:316:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:316:44:316:57 | lowercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:9:318:11 | 'A' | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:9:318:17 | RangePat | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:15:318:17 | 'Z' | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:318:22:321:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:319:17:319:30 | uppercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:319:34:319:41 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:320:22:320:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:320:22:320:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:320:22:320:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:320:22:320:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:320:44:320:57 | uppercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:322:9:322:9 | _ | | {EXTERNAL LOCATION} | char | +| pattern_matching.rs:322:14:322:15 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:326:29:355:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:327:9:327:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:327:17:327:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:328:13:328:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:328:29:328:33 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:331:5:340:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:331:11:331:16 | &value | | file://:0:0:0:0 | & | | pattern_matching.rs:331:11:331:16 | &value | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:331:12:331:16 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:332:9:332:11 | &42 | | file://:0:0:0:0 | & | | pattern_matching.rs:332:9:332:11 | &42 | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:332:10:332:11 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:332:16:335:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:333:17:333:27 | deref_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:333:31:333:35 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:334:22:334:58 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:334:22:334:58 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:334:22:334:58 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:334:22:334:58 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:334:48:334:58 | deref_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:336:9:336:10 | &... | | file://:0:0:0:0 | & | | pattern_matching.rs:336:9:336:10 | &... | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:336:10:336:10 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:336:15:339:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:337:17:337:27 | deref_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:337:31:337:31 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:338:22:338:60 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:338:22:338:60 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:338:22:338:60 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:338:22:338:60 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:338:50:338:60 | deref_bound | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:342:5:347:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:342:11:342:28 | &mut mutable_value | | file://:0:0:0:0 | & | | pattern_matching.rs:342:11:342:28 | &mut mutable_value | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:342:16:342:28 | mutable_value | | {EXTERNAL LOCATION} | i32 | @@ -6468,22 +7191,27 @@ inferType | pattern_matching.rs:343:9:343:18 | &mut ... | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:343:18:343:18 | x | | file://:0:0:0:0 | & | | pattern_matching.rs:343:18:343:18 | x | &T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:343:23:346:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:344:17:344:29 | mut_ref_bound | | file://:0:0:0:0 | & | | pattern_matching.rs:344:17:344:29 | mut_ref_bound | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:344:33:344:33 | x | | file://:0:0:0:0 | & | | pattern_matching.rs:344:33:344:33 | x | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:345:22:345:61 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:345:22:345:61 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:345:22:345:61 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:345:22:345:61 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:345:49:345:61 | mut_ref_bound | | file://:0:0:0:0 | & | | pattern_matching.rs:345:49:345:61 | mut_ref_bound | &T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:349:5:354:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:349:11:349:16 | &value | | file://:0:0:0:0 | & | | pattern_matching.rs:349:11:349:16 | &value | &T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:349:12:349:16 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:350:13:350:13 | x | | file://:0:0:0:0 | & | | pattern_matching.rs:350:13:350:13 | x | &T | file://:0:0:0:0 | & | | pattern_matching.rs:350:13:350:13 | x | &T.&T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:350:18:353:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:351:17:351:27 | ref_pattern | | file://:0:0:0:0 | & | | pattern_matching.rs:351:17:351:27 | ref_pattern | &T | file://:0:0:0:0 | & | | pattern_matching.rs:351:17:351:27 | ref_pattern | &T.&T | {EXTERNAL LOCATION} | i32 | @@ -6492,80 +7220,102 @@ inferType | pattern_matching.rs:351:31:351:31 | x | &T.&T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:352:22:352:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:352:22:352:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:352:22:352:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:352:22:352:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:352:47:352:57 | ref_pattern | | file://:0:0:0:0 | & | | pattern_matching.rs:352:47:352:57 | ref_pattern | &T | file://:0:0:0:0 | & | | pattern_matching.rs:352:47:352:57 | ref_pattern | &T.&T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:357:26:398:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:358:9:358:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:358:17:358:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:358:28:358:29 | 10 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:358:35:358:36 | 20 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:361:5:380:5 | match point { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:361:11:361:15 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:362:9:362:28 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:362:20:362:20 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:362:26:362:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:362:33:365:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:363:17:363:22 | origin | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:363:26:363:30 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:364:22:364:49 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:364:22:364:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:364:22:364:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:364:22:364:49 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:364:44:364:49 | origin | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:366:9:366:25 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:366:17:366:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:366:23:366:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:366:30:370:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:367:17:367:24 | x_axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:367:28:367:28 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:368:17:368:28 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:368:32:368:36 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | | file://:0:0:0:0 | & | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:369:22:369:80 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:369:22:369:80 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:369:22:369:80 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:369:22:369:80 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:369:59:369:66 | x_axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:369:69:369:80 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:371:9:371:27 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:371:20:371:21 | 10 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:371:32:374:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:372:17:372:27 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:372:31:372:35 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:373:22:373:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:373:22:373:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:373:22:373:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:373:22:373:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:373:47:373:57 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:9:375:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:17:375:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:375:20:375:20 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:375:27:379:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:376:17:376:25 | general_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:376:29:376:29 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:377:17:377:25 | general_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:377:29:377:29 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:378:22:378:68 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:378:22:378:68 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:378:22:378:68 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:378:22:378:68 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:378:49:378:57 | general_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:378:60:378:68 | general_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:383:9:383:13 | shape | | pattern_matching.rs:145:1:150:1 | Shape | | pattern_matching.rs:383:17:386:5 | ...::Rectangle {...} | | pattern_matching.rs:145:1:150:1 | Shape | | pattern_matching.rs:384:16:384:19 | 10.0 | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:385:17:385:20 | 20.0 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:387:5:397:5 | match shape { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:387:11:387:15 | shape | | pattern_matching.rs:145:1:150:1 | Shape | | pattern_matching.rs:388:9:391:9 | ...::Rectangle {...} | | pattern_matching.rs:145:1:150:1 | Shape | | pattern_matching.rs:389:20:389:20 | w | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:390:21:390:21 | h | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:391:14:395:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:392:17:392:26 | rect_width | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:392:30:392:30 | w | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:393:17:393:27 | rect_height | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:393:31:393:31 | h | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:394:22:394:64 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:394:22:394:64 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:394:22:394:64 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:394:22:394:64 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:394:42:394:51 | rect_width | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:394:54:394:64 | rect_height | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:396:9:396:9 | _ | | pattern_matching.rs:145:1:150:1 | Shape | +| pattern_matching.rs:396:14:396:15 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:400:32:441:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:401:9:401:13 | color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:401:17:401:34 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:401:23:401:25 | 255 | | {EXTERNAL LOCATION} | i32 | @@ -6574,6 +7324,7 @@ inferType | pattern_matching.rs:401:28:401:30 | 128 | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:401:33:401:33 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:401:33:401:33 | 0 | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:404:5:418:5 | match color { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:404:11:404:15 | color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:405:9:405:24 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:405:15:405:17 | 255 | | {EXTERNAL LOCATION} | i32 | @@ -6582,17 +7333,21 @@ inferType | pattern_matching.rs:405:20:405:20 | 0 | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:405:23:405:23 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:405:23:405:23 | 0 | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:405:29:408:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:406:17:406:25 | red_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:406:29:406:33 | color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:407:22:407:48 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:407:22:407:48 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:407:22:407:48 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:407:22:407:48 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:407:40:407:48 | red_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:409:9:409:22 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:409:15:409:15 | r | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:409:18:409:18 | g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:409:21:409:21 | b | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:409:27:417:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:410:17:410:29 | red_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:410:33:410:33 | r | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:411:17:411:31 | green_component | | {EXTERNAL LOCATION} | u8 | @@ -6601,46 +7356,60 @@ inferType | pattern_matching.rs:412:34:412:34 | b | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:414:17:415:62 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:414:17:415:62 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:414:17:415:62 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:414:17:415:62 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:415:17:415:29 | red_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:415:32:415:46 | green_component | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:415:49:415:62 | blue_component | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:421:5:430:5 | match color { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:421:11:421:15 | color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:422:9:422:22 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:422:15:422:17 | 255 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:422:15:422:17 | 255 | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:422:20:422:21 | .. | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:422:27:425:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:423:17:423:29 | reddish_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:423:33:423:37 | color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:424:22:424:57 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:424:22:424:57 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:424:22:424:57 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:424:22:424:57 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:424:45:424:57 | reddish_color | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:426:9:426:20 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:426:15:426:15 | r | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:426:18:426:19 | .. | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:426:25:429:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:427:17:427:23 | any_red | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:427:27:427:27 | r | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:428:22:428:54 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:428:22:428:54 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:428:22:428:54 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:428:22:428:54 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:428:48:428:54 | any_red | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:434:9:434:15 | wrapper | | pattern_matching.rs:432:5:433:24 | Wrapper | | pattern_matching.rs:434:19:434:29 | Wrapper(...) | | pattern_matching.rs:432:5:433:24 | Wrapper | | pattern_matching.rs:434:27:434:28 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:435:5:440:5 | match wrapper { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:435:11:435:17 | wrapper | | pattern_matching.rs:432:5:433:24 | Wrapper | | pattern_matching.rs:436:9:436:18 | Wrapper(...) | | pattern_matching.rs:432:5:433:24 | Wrapper | | pattern_matching.rs:436:17:436:17 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:436:23:439:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:437:17:437:29 | wrapped_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:437:33:437:33 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:438:22:438:49 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:438:22:438:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:438:22:438:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:438:22:438:49 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:438:37:438:49 | wrapped_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:443:25:498:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:444:9:444:13 | tuple | | file://:0:0:0:0 | (T_3) | | pattern_matching.rs:444:9:444:13 | tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:444:9:444:13 | tuple | 1(3) | {EXTERNAL LOCATION} | i32 | @@ -6656,6 +7425,7 @@ inferType | pattern_matching.rs:444:18:444:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:444:24:444:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:444:30:444:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | +| pattern_matching.rs:447:5:458:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:447:11:447:15 | tuple | | file://:0:0:0:0 | (T_3) | | pattern_matching.rs:447:11:447:15 | tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:447:11:447:15 | tuple | 1(3) | {EXTERNAL LOCATION} | i32 | @@ -6673,6 +7443,7 @@ inferType | pattern_matching.rs:448:13:448:13 | 2 | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:448:16:448:18 | 3.0 | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:448:16:448:18 | 3.0 | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:448:24:451:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:449:17:449:27 | exact_tuple | | file://:0:0:0:0 | (T_3) | | pattern_matching.rs:449:17:449:27 | exact_tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:449:17:449:27 | exact_tuple | 1(3) | {EXTERNAL LOCATION} | i32 | @@ -6687,8 +7458,10 @@ inferType | pattern_matching.rs:449:31:449:35 | tuple | 2(3) | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:450:22:450:53 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:450:22:450:53 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:450:22:450:53 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:450:22:450:53 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:450:43:450:53 | exact_tuple | | file://:0:0:0:0 | (T_3) | | pattern_matching.rs:450:43:450:53 | exact_tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:450:43:450:53 | exact_tuple | 1(3) | {EXTERNAL LOCATION} | i32 | @@ -6706,6 +7479,7 @@ inferType | pattern_matching.rs:452:13:452:13 | b | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:452:16:452:16 | c | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:452:16:452:16 | c | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:452:22:457:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:453:17:453:26 | first_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:453:30:453:30 | a | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:454:17:454:27 | second_elem | | {EXTERNAL LOCATION} | i32 | @@ -6718,13 +7492,16 @@ inferType | pattern_matching.rs:455:30:455:30 | c | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:456:22:456:79 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:456:22:456:79 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:456:22:456:79 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:456:22:456:79 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:456:45:456:54 | first_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:456:70:456:79 | third_elem | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:456:70:456:79 | third_elem | | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:461:5:466:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:461:11:461:15 | tuple | | file://:0:0:0:0 | (T_3) | | pattern_matching.rs:461:11:461:15 | tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:461:11:461:15 | tuple | 1(3) | {EXTERNAL LOCATION} | i32 | @@ -6737,37 +7514,48 @@ inferType | pattern_matching.rs:462:9:462:19 | TuplePat | 1(3) | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:462:9:462:19 | TuplePat | 2(3) | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:462:9:462:19 | TuplePat | 2(3) | {EXTERNAL LOCATION} | f64 | +| pattern_matching.rs:462:24:465:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:464:22:464:53 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:464:22:464:53 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:464:22:464:53 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:464:22:464:53 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:469:9:469:12 | unit | | file://:0:0:0:0 | () | | pattern_matching.rs:469:16:469:17 | TupleExpr | | file://:0:0:0:0 | () | +| pattern_matching.rs:470:5:475:5 | match unit { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:470:11:470:14 | unit | | file://:0:0:0:0 | () | | pattern_matching.rs:471:9:471:10 | TuplePat | | file://:0:0:0:0 | () | +| pattern_matching.rs:471:15:474:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:472:17:472:26 | unit_value | | file://:0:0:0:0 | () | | pattern_matching.rs:472:30:472:33 | unit | | file://:0:0:0:0 | () | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:473:22:473:51 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:473:22:473:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:473:22:473:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:473:22:473:51 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:473:42:473:51 | unit_value | | file://:0:0:0:0 | () | | pattern_matching.rs:478:9:478:14 | single | | file://:0:0:0:0 | (T_1) | | pattern_matching.rs:478:9:478:14 | single | 0(1) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:478:18:478:25 | TupleExpr | | file://:0:0:0:0 | (T_1) | | pattern_matching.rs:478:18:478:25 | TupleExpr | 0(1) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:478:19:478:23 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:479:5:484:5 | match single { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:479:11:479:16 | single | | file://:0:0:0:0 | (T_1) | | pattern_matching.rs:479:11:479:16 | single | 0(1) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:480:9:480:12 | TuplePat | | file://:0:0:0:0 | (T_1) | | pattern_matching.rs:480:9:480:12 | TuplePat | 0(1) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:480:10:480:10 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:480:17:483:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:481:17:481:27 | single_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:481:31:481:31 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:482:22:482:60 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:482:22:482:60 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:482:22:482:60 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:482:22:482:60 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:482:50:482:60 | single_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | | file://:0:0:0:0 | & | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | &T | file://:0:0:0:0 | (T_2) | @@ -6782,19 +7570,25 @@ inferType | pattern_matching.rs:487:36:487:41 | TupleExpr | 1(2) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:487:37:487:37 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:487:40:487:40 | 2 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:488:5:491:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:488:12:488:17 | TuplePat | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:488:21:488:30 | ref_tuple1 | | file://:0:0:0:0 | & | | pattern_matching.rs:488:21:488:30 | ref_tuple1 | &T | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:488:21:488:30 | ref_tuple1 | &T.0(2) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:488:21:488:30 | ref_tuple1 | &T.1(2) | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:488:32:491:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:489:18:489:27 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:489:18:489:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:489:18:489:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:489:18:489:27 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:490:18:490:27 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:490:18:490:27 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:490:18:490:27 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:490:18:490:27 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | | file://:0:0:0:0 | & | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | &T | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | &T.0(2) | {EXTERNAL LOCATION} | i32 | @@ -6815,23 +7609,32 @@ inferType | pattern_matching.rs:495:18:495:27 | ref_tuple2 | &T.1(2) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:496:14:496:23 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:496:14:496:23 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:496:14:496:23 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:496:14:496:23 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:497:14:497:23 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:497:14:497:23 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:497:14:497:23 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:497:14:497:23 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:500:33:520:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:501:9:501:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:501:17:501:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:504:5:509:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:504:11:504:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:505:9:505:11 | (...) | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:505:10:505:10 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:505:16:508:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:506:17:506:27 | paren_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:506:31:506:31 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:507:22:507:61 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:507:22:507:61 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:507:22:507:61 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:507:22:507:61 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:507:51:507:61 | paren_bound | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:512:9:512:13 | tuple | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:512:9:512:13 | tuple | 0(2) | {EXTERNAL LOCATION} | i32 | @@ -6841,6 +7644,7 @@ inferType | pattern_matching.rs:512:17:512:28 | TupleExpr | 1(2) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:512:18:512:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:512:24:512:27 | 2i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:513:5:519:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:513:11:513:15 | tuple | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:513:11:513:15 | tuple | 0(2) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:513:11:513:15 | tuple | 1(2) | {EXTERNAL LOCATION} | i32 | @@ -6850,16 +7654,20 @@ inferType | pattern_matching.rs:514:10:514:10 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:514:13:514:15 | (...) | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:514:14:514:14 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:514:21:518:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:515:17:515:23 | paren_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:515:27:515:27 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:516:17:516:23 | paren_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:516:27:516:27 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | | file://:0:0:0:0 | & | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:517:22:517:71 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:517:22:517:71 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:517:22:517:71 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:517:22:517:71 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:517:56:517:62 | paren_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:517:65:517:71 | paren_y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:522:25:563:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:523:9:523:13 | slice | | file://:0:0:0:0 | & | | pattern_matching.rs:523:9:523:13 | slice | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:523:9:523:13 | slice | &T.[T] | {EXTERNAL LOCATION} | i32 | @@ -6875,12 +7683,14 @@ inferType | pattern_matching.rs:523:33:523:33 | 3 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:523:36:523:36 | 4 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:523:39:523:39 | 5 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:526:5:551:5 | match slice { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:526:11:526:15 | slice | | file://:0:0:0:0 | & | | pattern_matching.rs:526:11:526:15 | slice | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:526:11:526:15 | slice | &T.[T] | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:527:9:527:10 | SlicePat | | file://:0:0:0:0 | & | | pattern_matching.rs:527:9:527:10 | SlicePat | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:527:9:527:10 | SlicePat | &T.[T] | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:527:15:530:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:528:17:528:27 | empty_slice | | file://:0:0:0:0 | & | | pattern_matching.rs:528:17:528:27 | empty_slice | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:528:17:528:27 | empty_slice | &T.[T] | {EXTERNAL LOCATION} | i32 | @@ -6889,32 +7699,43 @@ inferType | pattern_matching.rs:528:31:528:35 | slice | &T.[T] | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:529:22:529:53 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:529:22:529:53 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:529:22:529:53 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:529:22:529:53 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:529:43:529:53 | empty_slice | | file://:0:0:0:0 | & | | pattern_matching.rs:529:43:529:53 | empty_slice | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:529:43:529:53 | empty_slice | &T.[T] | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:531:9:531:11 | SlicePat | | file://:0:0:0:0 | & | | pattern_matching.rs:531:9:531:11 | SlicePat | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:531:9:531:11 | SlicePat | &T.[T] | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:531:16:534:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:533:22:533:54 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:533:22:533:54 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:533:22:533:54 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:533:22:533:54 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:535:9:535:23 | SlicePat | | file://:0:0:0:0 | & | | pattern_matching.rs:535:9:535:23 | SlicePat | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:535:9:535:23 | SlicePat | &T.[T] | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:535:28:539:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:538:22:538:70 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:538:22:538:70 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:538:22:538:70 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:538:22:538:70 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:540:9:540:34 | SlicePat | | file://:0:0:0:0 | & | | pattern_matching.rs:540:9:540:34 | SlicePat | &T | file://:0:0:0:0 | [] | | pattern_matching.rs:540:9:540:34 | SlicePat | &T.[T] | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:540:39:550:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | | file://:0:0:0:0 | & | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:545:17:548:34 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:545:17:548:34 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:545:17:548:34 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:545:17:548:34 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:554:9:554:13 | array | | file://:0:0:0:0 | [] | | pattern_matching.rs:554:9:554:13 | array | [T;...] | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:554:17:554:28 | [...] | | file://:0:0:0:0 | [] | @@ -6922,50 +7743,68 @@ inferType | pattern_matching.rs:554:18:554:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:554:24:554:24 | 2 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:554:27:554:27 | 3 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:555:5:562:5 | match array { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:555:11:555:15 | array | | file://:0:0:0:0 | [] | | pattern_matching.rs:555:11:555:15 | array | [T;...] | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:556:9:556:17 | SlicePat | | file://:0:0:0:0 | [] | | pattern_matching.rs:556:9:556:17 | SlicePat | [T;...] | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:556:22:561:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:560:22:560:70 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:560:22:560:70 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:560:22:560:70 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:560:22:560:70 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:565:24:601:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:567:27:567:28 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:9:568:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:17:568:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:570:5:576:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:570:11:570:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:571:9:571:16 | CONSTANT | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:571:21:574:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:572:17:572:27 | const_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:572:31:572:35 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:573:22:573:56 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:573:22:573:56 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:573:22:573:56 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:573:22:573:56 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:573:46:573:56 | const_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:575:9:575:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:575:14:575:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:579:9:579:14 | option | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:579:9:579:14 | option | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:579:18:579:38 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:579:18:579:38 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:579:33:579:37 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:580:5:588:5 | match option { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:580:11:580:16 | option | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:580:11:580:16 | option | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:581:9:581:22 | ...::None | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:581:9:581:22 | ...::None | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:581:27:583:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:582:22:582:35 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:582:22:582:35 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:582:22:582:35 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:582:22:582:35 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:584:9:584:25 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:584:9:584:25 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:584:24:584:24 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:584:30:587:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:585:17:585:26 | some_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:585:30:585:30 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:586:22:586:49 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:586:22:586:49 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:586:22:586:49 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:586:22:586:49 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:586:40:586:49 | some_value | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:591:5:600:5 | match ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:591:11:591:51 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | | pattern_matching.rs:591:11:591:51 | ...::Ok::<...>(...) | E | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:591:11:591:51 | ...::Ok::<...>(...) | T | {EXTERNAL LOCATION} | i32 | @@ -6974,53 +7813,69 @@ inferType | pattern_matching.rs:592:9:592:34 | ...::Ok(...) | E | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:592:9:592:34 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:592:33:592:33 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:592:39:595:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:593:17:593:24 | ok_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:593:28:593:28 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:594:22:594:45 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:594:22:594:45 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:594:22:594:45 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:594:22:594:45 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:594:38:594:45 | ok_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:596:9:596:35 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | | pattern_matching.rs:596:9:596:35 | ...::Err(...) | E | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:596:9:596:35 | ...::Err(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:596:34:596:34 | e | | {EXTERNAL LOCATION} | usize | +| pattern_matching.rs:596:40:599:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:597:17:597:25 | err_value | | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:597:29:597:29 | e | | {EXTERNAL LOCATION} | usize | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:598:22:598:43 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:598:22:598:43 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:598:22:598:43 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:598:22:598:43 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:598:35:598:43 | err_value | | {EXTERNAL LOCATION} | usize | +| pattern_matching.rs:603:22:638:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:604:9:604:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:604:17:604:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:607:5:617:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:607:11:607:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:608:9:608:9 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:608:9:608:17 | 1 \| 2 \| 3 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:608:13:608:13 | 2 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:608:17:608:17 | 3 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:608:22:611:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:609:17:609:25 | small_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:609:29:609:33 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:610:22:610:50 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:610:22:610:50 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:610:22:610:50 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:610:22:610:50 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:610:42:610:50 | small_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:9:612:10 | 10 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:9:612:15 | 10 \| 20 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:14:612:15 | 20 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:612:20:615:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:613:17:613:25 | round_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:613:29:613:33 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:614:22:614:50 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:614:22:614:50 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:614:22:614:50 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:614:22:614:50 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:614:42:614:50 | round_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:616:9:616:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:616:14:616:15 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:620:9:620:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:620:17:620:36 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:620:28:620:28 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:620:34:620:34 | 5 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:621:5:628:5 | match point { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:621:11:621:15 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:622:9:622:29 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:622:9:622:53 | ... \| ... | | pattern_matching.rs:135:1:140:1 | Point | @@ -7031,17 +7886,22 @@ inferType | pattern_matching.rs:622:41:622:41 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:622:47:622:47 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:622:51:622:51 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:622:58:626:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:623:17:623:22 | axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:623:26:623:26 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:624:17:624:22 | axis_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:624:26:624:26 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:625:22:625:62 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:625:22:625:62 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:625:22:625:62 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:625:22:625:62 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:625:49:625:54 | axis_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:625:57:625:62 | axis_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:627:9:627:9 | _ | | pattern_matching.rs:135:1:140:1 | Point | +| pattern_matching.rs:627:14:627:15 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:631:5:637:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:631:11:631:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:632:9:632:9 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:632:9:632:14 | RangePat | | {EXTERNAL LOCATION} | i32 | @@ -7050,14 +7910,19 @@ inferType | pattern_matching.rs:632:18:632:19 | 90 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:632:18:632:25 | RangePat | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:632:23:632:25 | 100 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:632:30:635:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:633:17:633:30 | range_or_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:633:34:633:38 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:634:22:634:51 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:634:22:634:51 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:634:22:634:51 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:634:22:634:51 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:634:38:634:51 | range_or_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:636:9:636:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:636:14:636:15 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:640:24:674:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:641:9:641:13 | tuple | | file://:0:0:0:0 | (T_4) | | pattern_matching.rs:641:9:641:13 | tuple | 0(4) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:641:9:641:13 | tuple | 1(4) | {EXTERNAL LOCATION} | i64 | @@ -7072,6 +7937,7 @@ inferType | pattern_matching.rs:641:24:641:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:641:30:641:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:641:38:641:40 | 4u8 | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:644:5:649:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:644:11:644:15 | tuple | | file://:0:0:0:0 | (T_4) | | pattern_matching.rs:644:11:644:15 | tuple | 0(4) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:644:11:644:15 | tuple | 1(4) | {EXTERNAL LOCATION} | i64 | @@ -7082,10 +7948,14 @@ inferType | pattern_matching.rs:645:9:645:19 | TuplePat | 1(4) | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:645:9:645:19 | TuplePat | 2(4) | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:645:9:645:19 | TuplePat | 3(4) | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:645:24:648:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:647:22:647:54 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:647:22:647:54 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:647:22:647:54 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:647:22:647:54 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:651:5:656:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:651:11:651:15 | tuple | | file://:0:0:0:0 | (T_4) | | pattern_matching.rs:651:11:651:15 | tuple | 0(4) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:651:11:651:15 | tuple | 1(4) | {EXTERNAL LOCATION} | i64 | @@ -7096,10 +7966,14 @@ inferType | pattern_matching.rs:652:9:652:18 | TuplePat | 1(4) | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:652:9:652:18 | TuplePat | 2(4) | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:652:9:652:18 | TuplePat | 3(4) | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:652:23:655:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:654:22:654:52 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:654:22:654:52 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:654:22:654:52 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:654:22:654:52 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:658:5:664:5 | match tuple { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:658:11:658:15 | tuple | | file://:0:0:0:0 | (T_4) | | pattern_matching.rs:658:11:658:15 | tuple | 0(4) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:658:11:658:15 | tuple | 1(4) | {EXTERNAL LOCATION} | i64 | @@ -7110,32 +7984,47 @@ inferType | pattern_matching.rs:659:9:659:25 | TuplePat | 1(4) | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:659:9:659:25 | TuplePat | 2(4) | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:659:9:659:25 | TuplePat | 3(4) | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:659:30:663:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:662:22:662:67 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:662:22:662:67 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:662:22:662:67 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:662:22:662:67 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:667:9:667:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:667:17:667:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:667:28:667:29 | 10 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:667:35:667:36 | 20 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:668:5:673:5 | match point { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:668:11:668:15 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:669:9:669:23 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:669:17:669:17 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:669:28:672:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:670:17:670:22 | rest_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:670:26:670:26 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:671:22:671:47 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:671:22:671:47 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:671:22:671:47 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:671:22:671:47 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:671:42:671:47 | rest_x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:676:25:696:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:678:17:678:18 | 42 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:678:17:678:18 | match 42i32 { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:679:17:679:17 | match 42i32 { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:679:17:679:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:694:21:694:25 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:694:21:694:29 | match 42i32 { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:694:28:694:29 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:695:21:695:25 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:695:21:695:28 | match 10i32 { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:695:28:695:28 | x | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:698:34:724:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:700:9:700:20 | complex_data | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:700:9:700:20 | complex_data | 0(2) | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:700:9:700:20 | complex_data | 1(2) | pattern_matching.rs:152:1:156:1 | MyOption | @@ -7156,6 +8045,7 @@ inferType | pattern_matching.rs:700:73:700:73 | 0 | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:700:76:700:76 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:700:76:700:76 | 0 | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:702:5:723:5 | match complex_data { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:702:11:702:22 | complex_data | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:702:11:702:22 | complex_data | 0(2) | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:702:11:702:22 | complex_data | 1(2) | pattern_matching.rs:152:1:156:1 | MyOption | @@ -7174,6 +8064,7 @@ inferType | pattern_matching.rs:704:50:704:52 | 255 | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:704:55:704:55 | g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:704:58:704:58 | b | | {EXTERNAL LOCATION} | u8 | +| pattern_matching.rs:704:66:712:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:705:17:705:24 | nested_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:705:28:705:28 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:706:17:706:24 | nested_g | | {EXTERNAL LOCATION} | u8 | @@ -7182,8 +8073,10 @@ inferType | pattern_matching.rs:707:28:707:28 | b | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | | file://:0:0:0:0 | & | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:709:17:710:44 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:709:17:710:44 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:709:17:710:44 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:709:17:710:44 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:710:17:710:24 | nested_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:710:27:710:34 | nested_g | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:710:37:710:44 | nested_b | | {EXTERNAL LOCATION} | u8 | @@ -7208,17 +8101,21 @@ inferType | pattern_matching.rs:714:61:714:61 | 0 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:714:70:714:70 | _ | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:714:70:714:70 | _ | T | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:714:76:717:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:715:17:715:29 | alt_complex_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:715:33:715:33 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | | file://:0:0:0:0 | & | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:716:22:716:65 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:716:22:716:65 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:716:22:716:65 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:716:22:716:65 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:716:53:716:65 | alt_complex_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:719:9:719:13 | other | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:719:9:719:13 | other | 0(2) | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:719:9:719:13 | other | 1(2) | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:719:9:719:13 | other | 1(2).T | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:719:18:722:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:720:17:720:29 | other_complex | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:720:17:720:29 | other_complex | 0(2) | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:720:17:720:29 | other_complex | 1(2) | pattern_matching.rs:152:1:156:1 | MyOption | @@ -7229,12 +8126,15 @@ inferType | pattern_matching.rs:720:33:720:37 | other | 1(2).T | pattern_matching.rs:142:1:143:25 | Color | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:721:22:721:62 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:721:22:721:62 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:721:22:721:62 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:721:22:721:62 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:721:50:721:62 | other_complex | | file://:0:0:0:0 | (T_2) | | pattern_matching.rs:721:50:721:62 | other_complex | 0(2) | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:721:50:721:62 | other_complex | 1(2) | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:721:50:721:62 | other_complex | 1(2).T | pattern_matching.rs:142:1:143:25 | Color | +| pattern_matching.rs:726:37:758:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:728:9:728:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:728:17:728:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:728:28:728:29 | 10 | | {EXTERNAL LOCATION} | i32 | @@ -7320,6 +8220,7 @@ inferType | pattern_matching.rs:756:23:756:27 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:757:9:757:15 | let_mut | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:757:19:757:25 | mut_val | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:760:42:789:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:763:22:763:35 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:763:30:763:30 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:763:33:763:33 | y | | {EXTERNAL LOCATION} | i32 | @@ -7405,6 +8306,7 @@ inferType | pattern_matching.rs:788:41:788:45 | tuple | 0(3) | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:788:41:788:45 | tuple | 1(3) | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:788:41:788:45 | tuple | 2(3) | {EXTERNAL LOCATION} | bool | +| pattern_matching.rs:792:35:824:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:794:23:794:42 | (...) | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:794:23:794:42 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:794:34:794:34 | 1 | | {EXTERNAL LOCATION} | i32 | @@ -7416,14 +8318,17 @@ inferType | pattern_matching.rs:795:9:795:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:795:17:795:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:795:20:795:20 | y | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:795:34:799:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:796:13:796:18 | loop_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:796:22:796:22 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:797:13:797:18 | loop_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:797:22:797:22 | y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:798:18:798:58 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:798:18:798:58 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:798:18:798:58 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:798:18:798:58 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:798:45:798:50 | loop_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:798:53:798:58 | loop_y | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:802:9:802:20 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | @@ -7431,18 +8336,22 @@ inferType | pattern_matching.rs:802:24:802:44 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:802:24:802:44 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:802:39:802:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:803:5:806:5 | if ... {...} | | file://:0:0:0:0 | () | | pattern_matching.rs:803:12:803:33 | ...::Some(...) | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:803:12:803:33 | ...::Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:803:27:803:27 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:803:31:803:32 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:803:37:803:48 | option_value | | pattern_matching.rs:152:1:156:1 | MyOption | | pattern_matching.rs:803:37:803:48 | option_value | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:803:50:806:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:804:13:804:20 | if_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:804:24:804:24 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:805:18:805:54 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:805:18:805:54 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:805:18:805:54 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:805:18:805:54 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:805:47:805:54 | if_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:13:809:17 | stack | | {EXTERNAL LOCATION} | Vec | | pattern_matching.rs:809:13:809:17 | stack | A | {EXTERNAL LOCATION} | Global | @@ -7461,28 +8370,55 @@ inferType | pattern_matching.rs:810:25:810:29 | stack | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:810:25:810:35 | stack.pop() | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:810:25:810:35 | stack.pop() | T | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:810:37:813:5 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:811:13:811:23 | while_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:811:27:811:27 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:812:18:812:42 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:812:18:812:42 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:812:18:812:42 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:812:18:812:42 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:812:32:812:42 | while_let_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:816:9:816:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:816:17:816:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:817:5:823:5 | match value { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:817:11:817:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:818:9:818:9 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:818:14:818:14 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:818:14:818:18 | ... > ... | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:818:18:818:18 | 0 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:818:23:821:9 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:819:17:819:23 | guard_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:819:27:819:27 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | | file://:0:0:0:0 | & | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | &T | {EXTERNAL LOCATION} | str | +| pattern_matching.rs:820:22:820:44 | ...::_print(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:820:22:820:44 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | pattern_matching.rs:820:22:820:44 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| pattern_matching.rs:820:22:820:44 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:820:38:820:44 | guard_x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:822:9:822:9 | _ | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:822:14:822:15 | { ... } | | file://:0:0:0:0 | () | +| pattern_matching.rs:826:28:846:1 | { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:827:5:827:7 | f(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:827:5:827:7 | f(...) | T | file://:0:0:0:0 | () | +| pattern_matching.rs:828:5:828:22 | literal_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:829:5:829:25 | identifier_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:830:5:830:23 | wildcard_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:831:5:831:20 | range_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:832:5:832:24 | reference_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:833:5:833:21 | record_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:834:5:834:27 | tuple_struct_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:835:5:835:20 | tuple_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:836:5:836:28 | parenthesized_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:837:5:837:20 | slice_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:838:5:838:19 | path_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:839:5:839:17 | or_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:840:5:840:19 | rest_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:841:5:841:20 | macro_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:842:5:842:29 | complex_nested_patterns(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | file://:0:0:0:0 | () | +| pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | file://:0:0:0:0 | () | testFailures From 5697a7e612b504fa48c0f20e012cd33046250af0 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 30 Oct 2025 10:43:44 +0100 Subject: [PATCH 3/6] Rust: More type inference tests --- .../test/library-tests/type-inference/main.rs | 27 +++++ .../type-inference/type-inference.expected | 103 +++++++++++------- 2 files changed, 88 insertions(+), 42 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 2b1cee3debfb..5634381c6713 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -2837,6 +2837,33 @@ mod local_function { } } +mod block_types { + #[rustfmt::skip] + fn f1(cond: bool) -> i32 { + // Block that evaluates to unit + let a = { // $ MISSING: type=a:() + if cond { + return 12; + } + }; + 0 + } + + #[rustfmt::skip] + fn f2() -> i32 { + // Block that does not evaluate to unit + let b = 'label: { // $ MISSING: b:i32 SPURIOUS: certainType=b:() + break 'label 12; + }; + println!("b: {:?}", b); + 0 + } + + fn f3() -> i32 { + return 0; + } // should only have type `i32`, not `()` +} + mod blanket_impl; mod closure; mod dereference; 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 73ef95f55683..7511e0ec5e9c 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -6424,48 +6424,67 @@ inferType | main.rs:2835:13:2835:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:2835:13:2835:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | | main.rs:2835:17:2835:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2845:11:2880:1 | { ... } | | file://:0:0:0:0 | () | -| main.rs:2846:5:2846:21 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2847:5:2847:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2848:5:2848:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2848:20:2848:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2848:41:2848:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2849:5:2849:35 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2850:5:2850:41 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2851:5:2851:45 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2852:5:2852:30 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2853:5:2853:33 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2854:5:2854:21 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2855:5:2855:27 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2856:5:2856:32 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2857:5:2857:23 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2858:5:2858:36 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2859:5:2859:35 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2860:5:2860:29 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2861:5:2861:23 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2862:5:2862:24 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2863:5:2863:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2864:5:2864:18 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2865:5:2865:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2865:5:2865:15 | ...::f(...) | Output | file://:0:0:0:0 | () | -| main.rs:2866:5:2866:19 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2867:5:2867:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2868:5:2868:14 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2869:5:2869:27 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2870:5:2870:15 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2871:5:2871:43 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2872:5:2872:15 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2873:5:2873:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2874:5:2874:23 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2875:5:2875:41 | ...::test_all_patterns(...) | | file://:0:0:0:0 | () | -| main.rs:2876:5:2876:49 | ...::box_patterns(...) | | file://:0:0:0:0 | () | -| main.rs:2877:5:2877:20 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2878:5:2878:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2878:5:2878:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2878:5:2878:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | -| main.rs:2878:5:2878:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2878:16:2878:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2879:5:2879:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2842:11:2842:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2842:30:2850:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2845:16:2845:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2846:24:2846:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2849:9:2849:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2853:20:2860:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2855:13:2855:13 | b | | file://:0:0:0:0 | () | +| main.rs:2855:17:2857:9 | 'label: { ... } | | file://:0:0:0:0 | () | +| main.rs:2856:26:2856:27 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2858:18:2858:26 | "b: {:?}\\n" | | file://:0:0:0:0 | & | +| main.rs:2858:18:2858:26 | "b: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2858:18:2858:29 | ...::_print(...) | | file://:0:0:0:0 | () | +| main.rs:2858:18:2858:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2858:18:2858:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2858:18:2858:29 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2858:29:2858:29 | b | | file://:0:0:0:0 | () | +| main.rs:2859:9:2859:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2862:20:2864:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2863:16:2863:16 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2872:11:2907:1 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2873:5:2873:21 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2874:5:2874:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2875:5:2875:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2875:20:2875:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2875:41:2875:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2876:5:2876:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2877:5:2877:41 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2878:5:2878:45 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2879:5:2879:30 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2880:5:2880:33 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2881:5:2881:21 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2882:5:2882:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2883:5:2883:32 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2884:5:2884:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2885:5:2885:36 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2886:5:2886:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2887:5:2887:29 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2888:5:2888:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2889:5:2889:24 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2890:5:2890:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2891:5:2891:18 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2892:5:2892:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2892:5:2892:15 | ...::f(...) | Output | file://:0:0:0:0 | () | +| main.rs:2893:5:2893:19 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2894:5:2894:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2895:5:2895:14 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2896:5:2896:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2897:5:2897:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2898:5:2898:43 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2899:5:2899:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2900:5:2900:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2901:5:2901:23 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2902:5:2902:41 | ...::test_all_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2903:5:2903:49 | ...::box_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2904:5:2904:20 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2905:5:2905:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2905:5:2905:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2905:5:2905:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2905:5:2905:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2905:16:2905:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2906:5:2906:23 | ...::f(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | file://:0:0:0:0 | () | | pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option | From cca458c2ac5e24de574c4a2b829eb08f3d04a8ac Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 30 Oct 2025 12:36:38 +0100 Subject: [PATCH 4/6] Rust: Address review comments and handle `!` types in type inference --- .../codeql/rust/internal/TypeInference.qll | 65 +++++++++++++++---- .../lib/codeql/rust/internal/TypeMention.qll | 6 +- .../typeinference/BlanketImplementation.qll | 5 +- .../internal/typeinference/FunctionType.qll | 13 ++-- .../test/library-tests/type-inference/main.rs | 4 +- .../type-inference/type-inference.expected | 53 ++++++++++++--- 6 files changed, 114 insertions(+), 32 deletions(-) diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index d9c3d79379e9..96ebf10a0e42 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -232,9 +232,14 @@ import M2 module Consistency { import M2::Consistency + private Type inferCertainTypeAdj(AstNode n, TypePath path) { + result = CertainTypeInference::inferCertainType(n, path) and + not result = TNeverType() + } + predicate nonUniqueCertainType(AstNode n, TypePath path, Type t) { - strictcount(CertainTypeInference::inferCertainType(n, path)) > 1 and - t = CertainTypeInference::inferCertainType(n, path) and + strictcount(inferCertainTypeAdj(n, path)) > 1 and + t = inferCertainTypeAdj(n, path) and // Suppress the inconsistency if `n` is a self parameter and the type // mention for the self type has multiple types for a path. not exists(ImplItemNode impl, TypePath selfTypePath | @@ -291,6 +296,17 @@ private Type inferAnnotatedType(AstNode n, TypePath path) { result = n.(ShorthandSelfParameterMention).resolveTypeAt(path) } +/** + * Holds if `me` is a call to the `panic!` macro. + * + * `panic!` needs special treatment, because it expands to a block expression + * that looks like it should have type `()` instead of the correct `!` type. + */ +pragma[nomagic] +private predicate isPanicMacroCall(MacroExpr me) { + me.getMacroCall().resolveMacro().(MacroRules).getName().getText() = "panic" +} + /** Module for inferring certain type information. */ module CertainTypeInference { pragma[nomagic] @@ -443,6 +459,14 @@ module CertainTypeInference { or result = inferCastExprType(n, path) or + exprHasUnitType(n) and + path.isEmpty() and + result instanceof UnitType + or + isPanicMacroCall(n) and + path.isEmpty() and + result instanceof NeverType + or infersCertainTypeAt(n, path, result.getATypeParameter()) } @@ -579,7 +603,8 @@ private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePat n2 = be.getRhs() ) or - n1 = n2.(MacroExpr).getMacroCall().getMacroCallExpansion() + n1 = n2.(MacroExpr).getMacroCall().getMacroCallExpansion() and + not isPanicMacroCall(n2) or n1 = n2.(MacroPat).getMacroCall().getMacroCallExpansion() or @@ -931,14 +956,17 @@ private predicate functionInfoBlanketLike( */ bindingset[path, type] private predicate isComplexRootStripped(TypePath path, Type type) { - path.isEmpty() and - not validSelfType(type) - or - exists(TypeParameter tp | - complexSelfRoot(_, tp) and - path = TypePath::singleton(tp) and - exists(type) - ) + ( + path.isEmpty() and + not validSelfType(type) + or + exists(TypeParameter tp | + complexSelfRoot(_, tp) and + path = TypePath::singleton(tp) and + exists(type) + ) + ) and + type != TNeverType() } /** @@ -1540,7 +1568,8 @@ private module MethodResolution { MethodCall getMethodCall() { result = mc_ } Type getTypeAt(TypePath path) { - result = mc_.getACandidateReceiverTypeAtSubstituteLookupTraits(derefChain, borrow, path) + result = mc_.getACandidateReceiverTypeAtSubstituteLookupTraits(derefChain, borrow, path) and + not result = TNeverType() } pragma[nomagic] @@ -2810,7 +2839,8 @@ private predicate isReturnExprCfgAncestor(AstNode n) { pragma[nomagic] predicate isUnitBlockExpr(BlockExpr be) { not be.getStmtList().hasTailExpr() and - not isReturnExprCfgAncestor(be) + not isReturnExprCfgAncestor(be) and + not be.hasLabel() } pragma[nomagic] @@ -2831,6 +2861,15 @@ private Type inferBlockExprType(BlockExpr be, TypePath path) { ) } +pragma[nomagic] +private predicate exprHasUnitType(Expr e) { + e = any(IfExpr ie | not ie.hasElse()) + or + e instanceof WhileExpr + or + e instanceof ForExpr +} + final private class AwaitTarget extends Expr { AwaitTarget() { this = any(AwaitExpr ae).getExpr() } diff --git a/rust/ql/lib/codeql/rust/internal/TypeMention.qll b/rust/ql/lib/codeql/rust/internal/TypeMention.qll index 2fde69d6c4df..c4185efc91f2 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeMention.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeMention.qll @@ -444,7 +444,11 @@ TypeMention getSelfParamTypeMention(SelfParam self) { } /** - * An element used to represent the implicit `()` return type of function. + * An element used to represent the implicit `()` return type of a function. + * + * Since the implicit type does not appear in the AST, we (somewhat arbitrarily) + * choose the name of the function as a type mention. This works because there + * is a one-to-one correspondence between a function and its name. */ class ShorthandReturnTypeMention extends TypeMention instanceof Name { private Function f; diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll index b88424caa349..6ddb7ee3be03 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll @@ -90,7 +90,10 @@ module SatisfiesBlanketConstraint< Location getLocation() { result = at.getLocation() } - Type getTypeAt(TypePath path) { result = at.getTypeAt(blanketPath.appendInverse(path)) } + Type getTypeAt(TypePath path) { + result = at.getTypeAt(blanketPath.appendInverse(path)) and + not result = TNeverType() + } string toString() { result = at.toString() + " [blanket at " + blanketPath.toString() + "]" } } diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll index d6cefdb1edca..c60378da0c60 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll @@ -46,7 +46,7 @@ class FunctionPosition extends TFunctionPosition { result = f.getParam(this.asPosition()).getTypeRepr() or this.isReturn() and - result = f.getRetType().getTypeRepr() + result = getReturnTypeMention(f) } string toString() { @@ -263,7 +263,10 @@ module ArgIsInstantiationOf< final private class ArgFinal = Arg; private class ArgSubst extends ArgFinal { - Type getTypeAt(TypePath path) { result = substituteLookupTraits(super.getTypeAt(path)) } + Type getTypeAt(TypePath path) { + result = substituteLookupTraits(super.getTypeAt(path)) and + not result = TNeverType() + } } private module IsInstantiationOfInput implements @@ -368,10 +371,10 @@ module ArgsAreInstantiationsOf { CallAndPos cp, Input::Call call, FunctionPosition pos, int rnk, Function f, TypeAbstraction abs, AssocFunctionType constraint ) { - cp = MkCallAndPos(call, pos) and + cp = MkCallAndPos(call, pragma[only_bind_into](pos)) and call.hasTargetCand(abs, f) and - toCheckRanked(abs, f, pos, rnk) and - Input::toCheck(abs, f, pos, constraint) + toCheckRanked(abs, f, pragma[only_bind_into](pos), rnk) and + Input::toCheck(abs, f, pragma[only_bind_into](pos), constraint) } pragma[nomagic] diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 5634381c6713..f0bf215d49b4 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -2841,7 +2841,7 @@ mod block_types { #[rustfmt::skip] fn f1(cond: bool) -> i32 { // Block that evaluates to unit - let a = { // $ MISSING: type=a:() + let a = { // $ type=a:() if cond { return 12; } @@ -2852,7 +2852,7 @@ mod block_types { #[rustfmt::skip] fn f2() -> i32 { // Block that does not evaluate to unit - let b = 'label: { // $ MISSING: b:i32 SPURIOUS: certainType=b:() + let b = 'label: { // $ MISSING: b:i32 break 'label 12; }; println!("b: {:?}", b); 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 7511e0ec5e9c..a5ec277a9391 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -3204,7 +3204,7 @@ inferType | main.rs:1272:22:1272:25 | SelfParam | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1272:22:1272:25 | SelfParam | Snd | main.rs:1271:15:1271:17 | Snd | | main.rs:1272:35:1279:9 | { ... } | | main.rs:1271:15:1271:17 | Snd | -| main.rs:1273:13:1278:13 | match self { ... } | | file://:0:0:0:0 | () | +| main.rs:1273:13:1278:13 | match self { ... } | | file://:0:0:0:0 | ! | | main.rs:1273:13:1278:13 | match self { ... } | | main.rs:1271:15:1271:17 | Snd | | main.rs:1273:19:1273:22 | self | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1273:19:1273:22 | self | Fst | main.rs:1271:10:1271:12 | Fst | @@ -3212,29 +3212,25 @@ inferType | main.rs:1274:17:1274:38 | ...::PairNone(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1274:17:1274:38 | ...::PairNone(...) | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1274:17:1274:38 | ...::PairNone(...) | Snd | main.rs:1271:15:1271:17 | Snd | -| main.rs:1274:43:1274:82 | MacroExpr | | file://:0:0:0:0 | () | -| main.rs:1274:43:1274:82 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | +| main.rs:1274:43:1274:82 | MacroExpr | | file://:0:0:0:0 | ! | | main.rs:1274:50:1274:81 | "PairNone has no second elemen... | | file://:0:0:0:0 | & | | main.rs:1274:50:1274:81 | "PairNone has no second elemen... | &T | {EXTERNAL LOCATION} | str | | main.rs:1274:50:1274:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:1274:50:1274:81 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1274:50:1274:81 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1274:50:1274:81 | MacroExpr | | file://:0:0:0:0 | () | -| main.rs:1274:50:1274:81 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | | main.rs:1274:50:1274:81 | { ... } | | file://:0:0:0:0 | () | | main.rs:1275:17:1275:38 | ...::PairFst(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1275:17:1275:38 | ...::PairFst(...) | Fst | main.rs:1271:10:1271:12 | Fst | | main.rs:1275:17:1275:38 | ...::PairFst(...) | Snd | main.rs:1271:15:1271:17 | Snd | | main.rs:1275:37:1275:37 | _ | | main.rs:1271:10:1271:12 | Fst | -| main.rs:1275:43:1275:81 | MacroExpr | | file://:0:0:0:0 | () | -| main.rs:1275:43:1275:81 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | +| main.rs:1275:43:1275:81 | MacroExpr | | file://:0:0:0:0 | ! | | main.rs:1275:50:1275:80 | "PairFst has no second element... | | file://:0:0:0:0 | & | | main.rs:1275:50:1275:80 | "PairFst has no second element... | &T | {EXTERNAL LOCATION} | str | | main.rs:1275:50:1275:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:1275:50:1275:80 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1275:50:1275:80 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:1275:50:1275:80 | MacroExpr | | file://:0:0:0:0 | () | -| main.rs:1275:50:1275:80 | MacroExpr | | main.rs:1271:15:1271:17 | Snd | | main.rs:1275:50:1275:80 | { ... } | | file://:0:0:0:0 | () | | main.rs:1276:17:1276:40 | ...::PairSnd(...) | | main.rs:1263:5:1269:5 | PairOption | | main.rs:1276:17:1276:40 | ...::PairSnd(...) | Fst | main.rs:1271:10:1271:12 | Fst | @@ -5452,6 +5448,7 @@ inferType | main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2494:13:2494:13 | 1 | | {EXTERNAL LOCATION} | i64 | | main.rs:2498:16:2605:5 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2501:9:2501:29 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2501:13:2501:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:18:2501:26 | [...] | | file://:0:0:0:0 | [] | | main.rs:2501:18:2501:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | @@ -5459,6 +5456,7 @@ inferType | main.rs:2501:22:2501:22 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:25:2501:25 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2501:28:2501:29 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2502:9:2502:44 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2502:18:2502:26 | [...] | | file://:0:0:0:0 | [] | | main.rs:2502:18:2502:26 | [...] | [T;...] | {EXTERNAL LOCATION} | i32 | | main.rs:2502:18:2502:41 | ... .map(...) | | file://:0:0:0:0 | [] | @@ -5469,6 +5467,7 @@ inferType | main.rs:2502:32:2502:40 | \|...\| ... | dyn(Args) | file://:0:0:0:0 | (T_1) | | main.rs:2502:40:2502:40 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2502:43:2502:44 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2503:9:2503:41 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | Item | | main.rs:2503:13:2503:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2503:18:2503:26 | [...] | | file://:0:0:0:0 | [] | @@ -5490,6 +5489,7 @@ inferType | main.rs:2505:27:2505:27 | 2 | | {EXTERNAL LOCATION} | u8 | | main.rs:2505:30:2505:30 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2505:30:2505:30 | 3 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2506:9:2506:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2506:13:2506:13 | u | | {EXTERNAL LOCATION} | i32 | | main.rs:2506:13:2506:13 | u | | {EXTERNAL LOCATION} | u8 | | main.rs:2506:18:2506:22 | vals1 | | file://:0:0:0:0 | [] | @@ -5502,6 +5502,7 @@ inferType | main.rs:2508:21:2508:29 | [1u16; 3] | [T;...] | {EXTERNAL LOCATION} | u16 | | main.rs:2508:22:2508:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2508:28:2508:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2509:9:2509:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2509:13:2509:13 | u | | {EXTERNAL LOCATION} | u16 | | main.rs:2509:18:2509:22 | vals2 | | file://:0:0:0:0 | [] | | main.rs:2509:18:2509:22 | vals2 | [T;...] | {EXTERNAL LOCATION} | u16 | @@ -5518,6 +5519,7 @@ inferType | main.rs:2511:35:2511:35 | 2 | | {EXTERNAL LOCATION} | u32 | | main.rs:2511:38:2511:38 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2511:38:2511:38 | 3 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2512:9:2512:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2512:13:2512:13 | u | | {EXTERNAL LOCATION} | u32 | | main.rs:2512:18:2512:22 | vals3 | | file://:0:0:0:0 | [] | | main.rs:2512:18:2512:22 | vals3 | [T;...] | {EXTERNAL LOCATION} | u32 | @@ -5531,6 +5533,7 @@ inferType | main.rs:2514:32:2514:32 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2514:32:2514:32 | 1 | | {EXTERNAL LOCATION} | u64 | | main.rs:2514:35:2514:35 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2515:9:2515:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2515:13:2515:13 | u | | {EXTERNAL LOCATION} | u64 | | main.rs:2515:18:2515:22 | vals4 | | file://:0:0:0:0 | [] | | main.rs:2515:18:2515:22 | vals4 | [T;...] | {EXTERNAL LOCATION} | u64 | @@ -5547,6 +5550,7 @@ inferType | main.rs:2517:36:2517:40 | "bar" | &T | {EXTERNAL LOCATION} | str | | main.rs:2517:43:2517:47 | "baz" | | file://:0:0:0:0 | & | | main.rs:2517:43:2517:47 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2518:9:2518:29 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2518:13:2518:13 | s | | {EXTERNAL LOCATION} | Item | | main.rs:2518:13:2518:13 | s | | file://:0:0:0:0 | & | | main.rs:2518:13:2518:13 | s | &T | file://:0:0:0:0 | & | @@ -5559,6 +5563,7 @@ inferType | main.rs:2518:19:2518:26 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2518:19:2518:26 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | | main.rs:2518:28:2518:29 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2519:9:2519:33 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2519:13:2519:13 | s | | {EXTERNAL LOCATION} | Item | | main.rs:2519:13:2519:13 | s | | file://:0:0:0:0 | & | | main.rs:2519:13:2519:13 | s | &T | file://:0:0:0:0 | & | @@ -5571,6 +5576,7 @@ inferType | main.rs:2519:23:2519:30 | strings1 | [T;...] | file://:0:0:0:0 | & | | main.rs:2519:23:2519:30 | strings1 | [T;...].&T | {EXTERNAL LOCATION} | str | | main.rs:2519:32:2519:33 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2520:9:2520:28 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2520:13:2520:13 | s | | file://:0:0:0:0 | & | | main.rs:2520:13:2520:13 | s | &T | {EXTERNAL LOCATION} | str | | main.rs:2520:18:2520:25 | strings1 | | file://:0:0:0:0 | [] | @@ -5590,6 +5596,7 @@ inferType | main.rs:2526:13:2526:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2526:26:2526:30 | "baz" | | file://:0:0:0:0 | & | | main.rs:2526:26:2526:30 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2528:9:2528:28 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2528:13:2528:13 | s | | {EXTERNAL LOCATION} | String | | main.rs:2528:18:2528:25 | strings2 | | file://:0:0:0:0 | [] | | main.rs:2528:18:2528:25 | strings2 | [T;...] | {EXTERNAL LOCATION} | String | @@ -5611,6 +5618,7 @@ inferType | main.rs:2534:13:2534:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2534:26:2534:30 | "baz" | | file://:0:0:0:0 | & | | main.rs:2534:26:2534:30 | "baz" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2536:9:2536:28 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2536:13:2536:13 | s | | {EXTERNAL LOCATION} | Item | | main.rs:2536:13:2536:13 | s | | file://:0:0:0:0 | & | | main.rs:2536:13:2536:13 | s | &T | {EXTERNAL LOCATION} | String | @@ -5625,6 +5633,7 @@ inferType | main.rs:2538:26:2538:42 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2538:45:2538:61 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2538:64:2538:80 | ...::new(...) | | main.rs:2486:5:2486:24 | MyCallable | +| main.rs:2539:9:2543:9 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2539:13:2539:13 | c | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2540:12:2540:20 | callables | | file://:0:0:0:0 | [] | | main.rs:2540:12:2540:20 | callables | [T;...] | main.rs:2486:5:2486:24 | MyCallable | @@ -5632,6 +5641,7 @@ inferType | main.rs:2542:17:2542:22 | result | | {EXTERNAL LOCATION} | i64 | | main.rs:2542:26:2542:26 | c | | main.rs:2486:5:2486:24 | MyCallable | | main.rs:2542:26:2542:33 | c.call() | | {EXTERNAL LOCATION} | i64 | +| main.rs:2547:9:2547:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2547:13:2547:13 | i | | {EXTERNAL LOCATION} | Item | | main.rs:2547:13:2547:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2547:18:2547:18 | 0 | | {EXTERNAL LOCATION} | i32 | @@ -5639,6 +5649,7 @@ inferType | main.rs:2547:18:2547:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2547:21:2547:22 | 10 | | {EXTERNAL LOCATION} | i32 | | main.rs:2547:24:2547:25 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2548:9:2548:29 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2548:13:2548:13 | u | | {EXTERNAL LOCATION} | Range | | main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2548:13:2548:13 | u | Idx | {EXTERNAL LOCATION} | u8 | @@ -5659,6 +5670,7 @@ inferType | main.rs:2549:21:2549:25 | 0..10 | | {EXTERNAL LOCATION} | Range | | main.rs:2549:21:2549:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2549:24:2549:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2550:9:2550:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2550:13:2550:13 | i | | {EXTERNAL LOCATION} | Item | | main.rs:2550:13:2550:13 | i | | {EXTERNAL LOCATION} | i32 | | main.rs:2550:18:2550:22 | range | | {EXTERNAL LOCATION} | Range | @@ -5666,6 +5678,7 @@ inferType | main.rs:2550:24:2550:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2551:13:2551:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | | main.rs:2551:26:2551:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2552:9:2552:51 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2552:13:2552:13 | i | | {EXTERNAL LOCATION} | Item | | main.rs:2552:18:2552:48 | &... | | file://:0:0:0:0 | & | | main.rs:2552:19:2552:36 | [...] | | file://:0:0:0:0 | [] | @@ -5681,6 +5694,7 @@ inferType | main.rs:2555:9:2558:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | | main.rs:2556:20:2556:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2557:18:2557:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2559:9:2559:26 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2559:13:2559:13 | u | | {EXTERNAL LOCATION} | Item | | main.rs:2559:13:2559:13 | u | | {EXTERNAL LOCATION} | u16 | | main.rs:2559:18:2559:23 | range1 | | {EXTERNAL LOCATION} | Range | @@ -5689,6 +5703,7 @@ inferType | main.rs:2563:26:2563:26 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2563:29:2563:29 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2563:32:2563:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2564:9:2564:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2564:24:2564:25 | { ... } | | file://:0:0:0:0 | () | | main.rs:2566:13:2566:18 | vals4a | | {EXTERNAL LOCATION} | Vec | | main.rs:2566:13:2566:18 | vals4a | A | {EXTERNAL LOCATION} | Global | @@ -5702,6 +5717,7 @@ inferType | main.rs:2566:33:2566:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2566:39:2566:39 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2566:42:2566:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2567:9:2567:26 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2567:13:2567:13 | u | | {EXTERNAL LOCATION} | u16 | | main.rs:2567:13:2567:13 | u | | file://:0:0:0:0 | & | | main.rs:2567:18:2567:23 | vals4a | | {EXTERNAL LOCATION} | Vec | @@ -5714,6 +5730,7 @@ inferType | main.rs:2569:23:2569:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2569:29:2569:29 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2569:32:2569:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2570:9:2570:26 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2570:25:2570:26 | { ... } | | file://:0:0:0:0 | () | | main.rs:2572:13:2572:17 | vals5 | | {EXTERNAL LOCATION} | Vec | | main.rs:2572:13:2572:17 | vals5 | A | {EXTERNAL LOCATION} | Global | @@ -5729,6 +5746,7 @@ inferType | main.rs:2572:32:2572:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:2572:38:2572:38 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2572:41:2572:41 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:9:2573:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2573:13:2573:13 | u | | {EXTERNAL LOCATION} | i32 | | main.rs:2573:13:2573:13 | u | | {EXTERNAL LOCATION} | u32 | | main.rs:2573:13:2573:13 | u | | file://:0:0:0:0 | & | @@ -5751,6 +5769,7 @@ inferType | main.rs:2575:33:2575:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | | main.rs:2575:39:2575:39 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2575:42:2575:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2576:9:2576:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2576:13:2576:13 | u | | file://:0:0:0:0 | & | | main.rs:2576:13:2576:13 | u | &T | {EXTERNAL LOCATION} | u64 | | main.rs:2576:18:2576:22 | vals6 | | {EXTERNAL LOCATION} | Vec | @@ -5769,6 +5788,7 @@ inferType | main.rs:2579:9:2579:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | | main.rs:2579:9:2579:23 | vals7.push(...) | | file://:0:0:0:0 | () | | main.rs:2579:20:2579:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2580:9:2580:25 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2580:13:2580:13 | u | | {EXTERNAL LOCATION} | u8 | | main.rs:2580:13:2580:13 | u | | file://:0:0:0:0 | & | | main.rs:2580:18:2580:22 | vals7 | | {EXTERNAL LOCATION} | Vec | @@ -5779,6 +5799,10 @@ inferType | main.rs:2582:36:2582:36 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2582:45:2582:45 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2582:48:2582:48 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2584:13:2584:13 | _ | | file://:0:0:0:0 | () | +| main.rs:2584:17:2587:9 | for ... in ... { ... } | | file://:0:0:0:0 | () | +| main.rs:2584:36:2587:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2585:13:2586:13 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2585:29:2586:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2589:17:2589:20 | map1 | | {EXTERNAL LOCATION} | HashMap | | main.rs:2589:17:2589:20 | map1 | K | {EXTERNAL LOCATION} | i32 | @@ -5832,6 +5856,7 @@ inferType | main.rs:2591:24:2591:38 | ...::new(...) | T.&T | {EXTERNAL LOCATION} | str | | main.rs:2591:33:2591:37 | "two" | | file://:0:0:0:0 | & | | main.rs:2591:33:2591:37 | "two" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2592:9:2592:33 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2592:13:2592:15 | key | | {EXTERNAL LOCATION} | Item | | main.rs:2592:13:2592:15 | key | | file://:0:0:0:0 | & | | main.rs:2592:13:2592:15 | key | &T | {EXTERNAL LOCATION} | i32 | @@ -5849,6 +5874,7 @@ inferType | main.rs:2592:20:2592:30 | map1.keys() | V.T | file://:0:0:0:0 | & | | main.rs:2592:20:2592:30 | map1.keys() | V.T.&T | {EXTERNAL LOCATION} | str | | main.rs:2592:32:2592:33 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2593:9:2593:37 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2593:13:2593:17 | value | | {EXTERNAL LOCATION} | Item | | main.rs:2593:13:2593:17 | value | | file://:0:0:0:0 | & | | main.rs:2593:13:2593:17 | value | &T | {EXTERNAL LOCATION} | Box | @@ -5869,6 +5895,7 @@ inferType | main.rs:2593:22:2593:34 | map1.values() | V.T | file://:0:0:0:0 | & | | main.rs:2593:22:2593:34 | map1.values() | V.T.&T | {EXTERNAL LOCATION} | str | | main.rs:2593:36:2593:37 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2594:9:2594:42 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2594:13:2594:24 | TuplePat | | file://:0:0:0:0 | (T_2) | | main.rs:2594:13:2594:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | | main.rs:2594:13:2594:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | @@ -5898,6 +5925,7 @@ inferType | main.rs:2594:29:2594:39 | map1.iter() | V.T | file://:0:0:0:0 | & | | main.rs:2594:29:2594:39 | map1.iter() | V.T.&T | {EXTERNAL LOCATION} | str | | main.rs:2594:41:2594:42 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2595:9:2595:36 | for ... in ... { ... } | | file://:0:0:0:0 | () | | main.rs:2595:13:2595:24 | TuplePat | | file://:0:0:0:0 | (T_2) | | main.rs:2595:13:2595:24 | TuplePat | 0(2) | file://:0:0:0:0 | & | | main.rs:2595:13:2595:24 | TuplePat | 0(2).&T | {EXTERNAL LOCATION} | i32 | @@ -5932,6 +5960,8 @@ inferType | main.rs:2599:17:2599:17 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2599:26:2599:26 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2601:13:2601:13 | _ | | file://:0:0:0:0 | () | +| main.rs:2601:17:2604:9 | while ... { ... } | | file://:0:0:0:0 | () | | main.rs:2601:23:2601:23 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2601:23:2601:28 | ... < ... | | {EXTERNAL LOCATION} | bool | | main.rs:2601:27:2601:28 | 10 | | {EXTERNAL LOCATION} | i32 | @@ -6426,12 +6456,14 @@ inferType | main.rs:2835:17:2835:17 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2842:11:2842:14 | cond | | {EXTERNAL LOCATION} | bool | | main.rs:2842:30:2850:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2844:13:2844:13 | a | | file://:0:0:0:0 | () | +| main.rs:2844:17:2848:9 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2845:13:2847:13 | if cond {...} | | file://:0:0:0:0 | () | | main.rs:2845:16:2845:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2845:21:2847:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2846:24:2846:25 | 12 | | {EXTERNAL LOCATION} | i32 | | main.rs:2849:9:2849:9 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2853:20:2860:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2855:13:2855:13 | b | | file://:0:0:0:0 | () | -| main.rs:2855:17:2857:9 | 'label: { ... } | | file://:0:0:0:0 | () | | main.rs:2856:26:2856:27 | 12 | | {EXTERNAL LOCATION} | i32 | | main.rs:2858:18:2858:26 | "b: {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:2858:18:2858:26 | "b: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | @@ -6439,7 +6471,6 @@ inferType | main.rs:2858:18:2858:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2858:18:2858:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2858:18:2858:29 | { ... } | | file://:0:0:0:0 | () | -| main.rs:2858:29:2858:29 | b | | file://:0:0:0:0 | () | | main.rs:2859:9:2859:9 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2862:20:2864:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2863:16:2863:16 | 0 | | {EXTERNAL LOCATION} | i32 | @@ -8334,6 +8365,7 @@ inferType | pattern_matching.rs:794:45:794:64 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:794:56:794:56 | 3 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:794:62:794:62 | 4 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:795:5:799:5 | for ... in ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:795:9:795:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:795:17:795:17 | x | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:795:20:795:20 | y | | {EXTERNAL LOCATION} | i32 | @@ -8381,6 +8413,7 @@ inferType | pattern_matching.rs:809:36:809:39 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:42:809:42 | 2 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:45:809:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| pattern_matching.rs:810:5:813:5 | while ... { ... } | | file://:0:0:0:0 | () | | pattern_matching.rs:810:15:810:21 | Some(...) | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:810:15:810:21 | Some(...) | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:810:20:810:20 | x | | {EXTERNAL LOCATION} | i32 | From f85002558354985a228b4c9493ad08e6a2628e82 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 31 Oct 2025 09:39:00 +0100 Subject: [PATCH 5/6] Rust: Add another type inference test --- .../test/library-tests/type-inference/main.rs | 11 +++ .../type-inference/type-inference.expected | 96 +++++++++++-------- 2 files changed, 65 insertions(+), 42 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index f0bf215d49b4..af39c583a466 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -2862,6 +2862,17 @@ mod block_types { fn f3() -> i32 { return 0; } // should only have type `i32`, not `()` + + #[rustfmt::skip] + fn f4(cond: bool) -> i32 { + let a = { // $ MISSING: certainType=a:() + if cond { + return 12; + }; + }; + println!("a: {:?}", a); + 0 + } } mod blanket_impl; 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 a5ec277a9391..18da3cb4255d 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -6474,48 +6474,60 @@ inferType | main.rs:2859:9:2859:9 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2862:20:2864:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2863:16:2863:16 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2872:11:2907:1 | { ... } | | file://:0:0:0:0 | () | -| main.rs:2873:5:2873:21 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2874:5:2874:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2875:5:2875:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2875:20:2875:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2875:41:2875:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2876:5:2876:35 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2877:5:2877:41 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2878:5:2878:45 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2879:5:2879:30 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2880:5:2880:33 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2881:5:2881:21 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2882:5:2882:27 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2883:5:2883:32 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2884:5:2884:23 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2885:5:2885:36 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2886:5:2886:35 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2887:5:2887:29 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2888:5:2888:23 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2889:5:2889:24 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2890:5:2890:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2891:5:2891:18 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2892:5:2892:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | -| main.rs:2892:5:2892:15 | ...::f(...) | Output | file://:0:0:0:0 | () | -| main.rs:2893:5:2893:19 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2894:5:2894:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2895:5:2895:14 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2896:5:2896:27 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2897:5:2897:15 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2898:5:2898:43 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2899:5:2899:15 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2900:5:2900:17 | ...::f(...) | | file://:0:0:0:0 | () | -| main.rs:2901:5:2901:23 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2902:5:2902:41 | ...::test_all_patterns(...) | | file://:0:0:0:0 | () | -| main.rs:2903:5:2903:49 | ...::box_patterns(...) | | file://:0:0:0:0 | () | -| main.rs:2904:5:2904:20 | ...::test(...) | | file://:0:0:0:0 | () | -| main.rs:2905:5:2905:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2905:5:2905:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2905:5:2905:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | -| main.rs:2905:5:2905:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2905:16:2905:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2906:5:2906:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2867:11:2867:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2867:30:2875:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2869:13:2871:13 | if cond {...} | | file://:0:0:0:0 | () | +| main.rs:2869:16:2869:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2870:24:2870:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2873:18:2873:26 | "a: {:?}\\n" | | file://:0:0:0:0 | & | +| main.rs:2873:18:2873:26 | "a: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | +| main.rs:2873:18:2873:29 | ...::_print(...) | | file://:0:0:0:0 | () | +| main.rs:2873:18:2873:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2873:18:2873:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | +| main.rs:2873:18:2873:29 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2874:9:2874:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2883:11:2918:1 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2884:5:2884:21 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2885:5:2885:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2886:5:2886:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2886:20:2886:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2886:41:2886:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2887:5:2887:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2888:5:2888:41 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2889:5:2889:45 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2890:5:2890:30 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2891:5:2891:33 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2892:5:2892:21 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2893:5:2893:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2894:5:2894:32 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2895:5:2895:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2896:5:2896:36 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2897:5:2897:35 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2898:5:2898:29 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2899:5:2899:23 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2900:5:2900:24 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2901:5:2901:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2902:5:2902:18 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2903:5:2903:15 | ...::f(...) | | {EXTERNAL LOCATION} | trait Future | +| main.rs:2903:5:2903:15 | ...::f(...) | Output | file://:0:0:0:0 | () | +| main.rs:2904:5:2904:19 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2905:5:2905:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2906:5:2906:14 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2907:5:2907:27 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2908:5:2908:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2909:5:2909:43 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2910:5:2910:15 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2911:5:2911:17 | ...::f(...) | | file://:0:0:0:0 | () | +| main.rs:2912:5:2912:23 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2913:5:2913:41 | ...::test_all_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2914:5:2914:49 | ...::box_patterns(...) | | file://:0:0:0:0 | () | +| main.rs:2915:5:2915:20 | ...::test(...) | | file://:0:0:0:0 | () | +| main.rs:2916:5:2916:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2916:5:2916:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2916:5:2916:20 | ...::f(...) | T | main.rs:2787:5:2789:5 | dyn MyTrait | +| main.rs:2916:5:2916:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2916:16:2916:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2917:5:2917:23 | ...::f(...) | | file://:0:0:0:0 | () | | pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | | pattern_matching.rs:13:26:133:1 | { ... } | T | file://:0:0:0:0 | () | | pattern_matching.rs:14:9:14:13 | value | | {EXTERNAL LOCATION} | Option | From 7d5664f2a83922394aeed0f81f126ab179848133 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 31 Oct 2025 09:43:18 +0100 Subject: [PATCH 6/6] Address review comment --- rust/ql/lib/codeql/rust/internal/TypeInference.qll | 12 +----------- rust/ql/test/library-tests/type-inference/main.rs | 2 +- .../type-inference/type-inference.expected | 4 ++++ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/rust/ql/lib/codeql/rust/internal/TypeInference.qll b/rust/ql/lib/codeql/rust/internal/TypeInference.qll index 96ebf10a0e42..8c2a648f49e9 100644 --- a/rust/ql/lib/codeql/rust/internal/TypeInference.qll +++ b/rust/ql/lib/codeql/rust/internal/TypeInference.qll @@ -2826,20 +2826,10 @@ private AssociatedTypeTypeParameter getFutureOutputTypeParameter() { result.getTypeAlias() = any(FutureTrait ft).getOutputType() } -private predicate isReturnExprCfgAncestor(AstNode n) { - n instanceof ReturnExpr - or - exists(AstNode mid | - isReturnExprCfgAncestor(mid) and - n = mid.getParentNode() and - n.getEnclosingCfgScope() = mid.getEnclosingCfgScope() - ) -} - pragma[nomagic] predicate isUnitBlockExpr(BlockExpr be) { not be.getStmtList().hasTailExpr() and - not isReturnExprCfgAncestor(be) and + not be = any(Callable c).getBody() and not be.hasLabel() } diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index af39c583a466..d99d178ba8d0 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -2865,7 +2865,7 @@ mod block_types { #[rustfmt::skip] fn f4(cond: bool) -> i32 { - let a = { // $ MISSING: certainType=a:() + let a = { // $ certainType=a:() if cond { return 12; }; 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 18da3cb4255d..d9b5e5782abf 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -6476,8 +6476,11 @@ inferType | main.rs:2863:16:2863:16 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2867:11:2867:14 | cond | | {EXTERNAL LOCATION} | bool | | main.rs:2867:30:2875:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2868:13:2868:13 | a | | file://:0:0:0:0 | () | +| main.rs:2868:17:2872:9 | { ... } | | file://:0:0:0:0 | () | | main.rs:2869:13:2871:13 | if cond {...} | | file://:0:0:0:0 | () | | main.rs:2869:16:2869:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2869:21:2871:13 | { ... } | | file://:0:0:0:0 | () | | main.rs:2870:24:2870:25 | 12 | | {EXTERNAL LOCATION} | i32 | | main.rs:2873:18:2873:26 | "a: {:?}\\n" | | file://:0:0:0:0 | & | | main.rs:2873:18:2873:26 | "a: {:?}\\n" | &T | {EXTERNAL LOCATION} | str | @@ -6485,6 +6488,7 @@ inferType | main.rs:2873:18:2873:29 | FormatArgsExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2873:18:2873:29 | MacroExpr | | {EXTERNAL LOCATION} | Arguments | | main.rs:2873:18:2873:29 | { ... } | | file://:0:0:0:0 | () | +| main.rs:2873:29:2873:29 | a | | file://:0:0:0:0 | () | | main.rs:2874:9:2874:9 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2883:11:2918:1 | { ... } | | file://:0:0:0:0 | () | | main.rs:2884:5:2884:21 | ...::f(...) | | file://:0:0:0:0 | () |