diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index 61fcb951cad1..121660b3eeae 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -67,7 +67,7 @@ lib/codeql/rust/elements/Function.qll 61fafe4bc91c997e9fb64f2770fc6682d333c61df3 lib/codeql/rust/elements/GenericArg.qll 5f11ce0e3c5f08de84db61f56ba1b984652455ba6b95a8b8a5b5a235913d4072 756b6a73d66fde45bdcc65ce2362a5b1391af2927e6d54b6550b3ecd5fd11e75 lib/codeql/rust/elements/GenericArgList.qll dcf274db517b0e8f19e4545d77f86cdd4066ff2805e68c808d0bb5750b49f569 1055a82929e850264e501b367ef4d314a3e6bb8943ec95f4284d157fb4d0092f lib/codeql/rust/elements/GenericParam.qll b58448b808d6dfa05db9574f54c22ce51f0b1d78784263c75a95d6bfc787067d 4afbab71fe717d7d7d3e2f60ea8c3d97bcb29b17b4efb79eabfe8f070edcb9bb -lib/codeql/rust/elements/GenericParamList.qll 91d6f8cab06d7a3c53cfc714698a04c867867536705f03ed37b135e9e87f78c8 d1d88c31f712ca7ea83b6bf61466710069f2fbdfa40499321686e2867b99b35f +lib/codeql/rust/elements/GenericParamList.qll 25fcaa68bc7798d75974d12607fae0afc7f84d43091b2d0c66a504095ef05667 3b71115c6af0b8e7f84d8c2d5ac9f23595ad2b22dbd19a9ea71906ca99340878 lib/codeql/rust/elements/IdentPat.qll ad5f202316d4eeee3ca81ea445728f4ad7eb6bb7d81232bc958c22a93d064bf2 7ce2772e391e593d8fd23b2b44e26d0d7e780327ec973fcc9dce52a75fda0e36 lib/codeql/rust/elements/IfExpr.qll f62153e8098b3eb08b569d4e25c750bc686665651579db4bc9e11dcef8e75d63 55006a55d612f189e73caa02f7b4deda388c692f0a801cdda9f833f2afdca778 lib/codeql/rust/elements/Impl.qll 6407348d86e73cdb68e414f647260cb82cb90bd40860ba9c40248d82dcba686c f60e07c8731185f7aa9c792a40c120669920d95f5400658de102b4a3ce30dd10 @@ -165,7 +165,7 @@ lib/codeql/rust/elements/TupleFieldList.qll 73397eef1cf8c18286b8f5bb12fbdc9bb75e lib/codeql/rust/elements/TuplePat.qll 028cdea43868b0fdd2fc4c31ff25b6bbb40813e8aaccf72186051a280db7632e 38c56187971671e6a9dd0c6ccccb2ee4470aa82852110c6b89884496eb4abc64 lib/codeql/rust/elements/TupleStructPat.qll da398a23eb616bf7dd586b2a87f4ab00f28623418f081cd7b1cc3de497ef1819 6573bf3f8501c30af3aeb23d96db9f5bea7ab73e2b7ef3473095c03e96c20a5c lib/codeql/rust/elements/TupleTypeRepr.qll 819b600abfb2d6110e3f9c09a3901c875530acf372c65e3d9071aed8ab302cbb 508e8e527248b42ba3f20d3ff5163c348c9d338b12ff7d244246fc711e9d240c -lib/codeql/rust/elements/TypeAlias.qll 2974953465e096fee61c70199a5672174254494786bc762c32c84df97422f08b 55e634e3dfa6ea3980ab37a524ea60c6adc207114a313c0c2a3632f7b5583dab +lib/codeql/rust/elements/TypeAlias.qll 7c06232b50df4b6d9066e18a7286f6f0986df6b3994838923c3b2cd0898bb937 d4e61091e396b6cbbfbc9731a58154d81ef986ccf0f306e64962661c468b2889 lib/codeql/rust/elements/TypeArg.qll 88b5d150dbb207079bf40019b60eb6f5389247aa3040474729019d2be48e92a6 6a507290152be04b1d2c4e2c04214cfc87c583ed0611bd75655aff59eb8ce952 lib/codeql/rust/elements/TypeBound.qll d4a699afb08c2b8fd3d0b08cd8c48971439ff5511758881ce50f0f4a9839d84a 3c439f1a92d29ae66e643d1e75500a951d30e70cc54a5729bf0c2e13a97330a4 lib/codeql/rust/elements/TypeBoundList.qll a0b95aa95485a0e23b9198ca492ea3fa075fb0dc9fb40ba997aff35d70c51d3b 51de36a56cd2921758260c62cebeb96e703d10b226ca505c874ae54c5a981348 @@ -422,7 +422,6 @@ lib/codeql/rust/elements/internal/TupleStructPatConstructor.qll 9d68f67a17a5cec0 lib/codeql/rust/elements/internal/TupleTypeReprConstructor.qll 80c31c25fd27e330690fb500d757a4bbd33f226186d88ea73bfe4cf29a7db508 d572a72fa361990a3d0a3f9b81d1e966e2ba1ac0a60314ec824c1b8b2814c857 lib/codeql/rust/elements/internal/TupleTypeReprImpl.qll 149719039d66f0cfb620e18d7af7e0995c5125a91f3883ad979e9ad480136d6e 310ef7e9e1e42853aa6a2c7bd9b8155773ff2b091d853059c7e04c8d5e30d723 lib/codeql/rust/elements/internal/TypeAliasConstructor.qll 048caa79eb7d400971e3e6d7e580867cbee4bd6b9d291aafac423aa96c321e76 d1d1e33a789ae6fa1a96af4d23d6376b9d82e14e3cbb777963e2d2cb8b22f66d -lib/codeql/rust/elements/internal/TypeAliasImpl.qll 43af0e8e3df8bca5b4bd48ad870cb619283710ec5b86085d85874a67cac3cb6e 75f1f8ba2bd722d55a84178cf338d34f7c57a156f8cc014bd2b29ee4da5ea9e2 lib/codeql/rust/elements/internal/TypeArgConstructor.qll 51d621e170fdf5f91497f8cc8c1764ce8a59fde5a2b9ecfad17ce826a96c56c4 a5bbb329bde456a40ffa84a325a4be1271dbde842c1573d1beb7056c8fb0f681 lib/codeql/rust/elements/internal/TypeArgImpl.qll c2b4aa45fb33c0e19e79584ec4245f9f1c19b4ec49ba7e7b03ea04a8a2be8c11 6b0be233709d67e1928bb519dd4492a7278d075289cae76a856182d56691f018 lib/codeql/rust/elements/internal/TypeBoundConstructor.qll ba99616e65cf2811187016ff23e5b0005cfd0f1123622e908ff8b560aaa5847f fde78432b55b31cf68a3acb7093256217df37539f942c4441d1b1e7bf9271d89 @@ -530,7 +529,7 @@ lib/codeql/rust/elements/internal/generated/Function.qll 6c04fffdc9de54cd01ff76f lib/codeql/rust/elements/internal/generated/GenericArg.qll 464da0ba1c5ddcd1be68617167f177773d99b5ac4775ec8ea24d503e789a9099 6faa1033d59baf7c210ac4837a55781cfc054b7acbad8027faf4630dbfa6e101 lib/codeql/rust/elements/internal/generated/GenericArgList.qll b8cd936bba6f28344e28c98acf38acb8ef43af6ecf8367d79ed487e5b9da17cb 8b14331261e49d004807285b02fca190aafd62bfb9378b05c7d9c1e95525fe7b lib/codeql/rust/elements/internal/generated/GenericParam.qll a0285123f974f287154b706bf6688b86edf72a4adcec57346c654d962435651b b42c3915e9564b5b5c5282229bf882aa3309de26a77721b2255d6f4235c0cc38 -lib/codeql/rust/elements/internal/generated/GenericParamList.qll f2d8945bc70cda6929bb6b652f9e3c7707e73fb5e778b21e99dbac594e71285f 7b97da5b6a6504377456bedebddc293d714f90e8fc2ce64199656666d5f749af +lib/codeql/rust/elements/internal/generated/GenericParamList.qll b18fa5fd435d94857c9863bbcc40571af0b1efba1b31ba9159c95568f5c58fce 6e70f1e9a1823d28d60e0e753ac8fbbe8deb10c94365f893b0c8f8ea4061b460 lib/codeql/rust/elements/internal/generated/IdentPat.qll 1fe5061759848fdc9588b27606efb1187ce9c13d12ad0a2a19666d250dd62db3 87dbc8b88c31079076a896b48e0c483a600d7d11c1c4bf266581bdfc9c93ae98 lib/codeql/rust/elements/internal/generated/IfExpr.qll 413dd7a20c6b98c0d2ad2e5b50981c14bf96c1a719ace3e341d78926219a5af7 c9a2d44e3baa6a265a29a683ca3c1683352457987c92f599c5771b4f3b4bafff lib/codeql/rust/elements/internal/generated/Impl.qll 863281820a933a86e6890e31a250f6a8d82ffc96c8b0fa9ff3884548f89d57b5 85fdb5c18db98dd15b74fed5a7547cb6e4db58ab2b9573d0a5cf15a9a2033653 @@ -595,7 +594,7 @@ lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 51d1e9e683fc79dddbff 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 2e299cb4fc9e506d910827e3a3ab743570a02d963c9001b33c6c06f9aa92200d a19748787c02a18abffaaa4c7b9c23a9bbc56020fb36698bf82da72c09fa57db +lib/codeql/rust/elements/internal/generated/Raw.qll 08297f639b6580e9776f7d4d0c8f1b82351f04505cfd82dac2c764866b176e98 4d2be2469dc9604a4bc174f1f5caceb93d13ec4ac1a50ded9ef8a427f2027f7f lib/codeql/rust/elements/internal/generated/RecordFieldList.qll 4a23b0d75a90671197246dbbb4e62706c180074abb8ebe60a96df11c47a917a2 09be127977651a24010b090d9681714d83ebd461098f9cf0e0d1973cafb1c782 lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 @@ -634,7 +633,7 @@ lib/codeql/rust/elements/internal/generated/TupleFieldList.qll 9d4981d04c2ee005e lib/codeql/rust/elements/internal/generated/TuplePat.qll 4e13b509e1c9dd1581a9dc50d38e0a6e36abc1254ea9c732b5b3e6503335afeb 298028df9eb84e106e625ed09d6b20038ad47bfc2faf634a0ffea50b17b5805d lib/codeql/rust/elements/internal/generated/TupleStructPat.qll 6539d0edbdc16e7df849514d51980d4cd1a2c9cbb58ca9e5273851f96df4eb36 45a13bae5220d5737cbd04713a17af5b33d8bb4cfdf17ddd64b298ab0c1eea24 lib/codeql/rust/elements/internal/generated/TupleTypeRepr.qll dc494a783c495c96f2498230d160b59117cfa96d927861cd9d76676fefac8fb2 47da01697f143d4077978594b0c2f4c4bc5e92823dfcaad3ce8ab91725a536a3 -lib/codeql/rust/elements/internal/generated/TypeAlias.qll 56162d01356f018a3acf20b79dcc49a939ebf4f422939fae6a20b91cbbda8564 903b61117f4caa362a350a9cbec701aa59eb2052aff848999ebfaaf574e02352 +lib/codeql/rust/elements/internal/generated/TypeAlias.qll 76f2ed5427077a5a4723285410740aeba01886ff1499d603cfeb735fc58ec580 b713c0ee40c959dff01b0f936552e6253634bb5ae152315f0949ecc88cb0dcce lib/codeql/rust/elements/internal/generated/TypeArg.qll e76ea103f7e9ead3be2c34718270d6893ca1980ee31e32ec19a92381e0040d73 9f2ea2d9434d57d7e3223e5d9d7662047e38bda26112751e122e2c1d03549eb5 lib/codeql/rust/elements/internal/generated/TypeBound.qll 28896d40ecb222ca0f42635a5820034755ea05d9d6c181455e7f5ac31f9d6139 87cc25695a256d9ab3cf9077a6a5602320ce7cc958248296420c937d9cf477ca lib/codeql/rust/elements/internal/generated/TypeBoundList.qll 31881cae2f71df5adf7a427357565bc0e7ba58c6a774a9d5835560a34c4db30f 1ff36ba34dd966d945d743781e3a1cccad4bb9fd5d32902dfd0bcad537501a85 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index 42e4c13f2f4c..c7f83eda9925 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -424,7 +424,6 @@ /lib/codeql/rust/elements/internal/TupleTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TupleTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeAliasConstructor.qll linguist-generated -/lib/codeql/rust/elements/internal/TypeAliasImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeArgConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TypeArgImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeBoundConstructor.qll linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements/GenericParamList.qll b/rust/ql/lib/codeql/rust/elements/GenericParamList.qll index ea6756f5abfd..58e4d6eea623 100644 --- a/rust/ql/lib/codeql/rust/elements/GenericParamList.qll +++ b/rust/ql/lib/codeql/rust/elements/GenericParamList.qll @@ -8,9 +8,12 @@ import codeql.rust.elements.AstNode import codeql.rust.elements.GenericParam /** - * A GenericParamList. For example: + * A list of generic parameters. For example: * ```rust - * todo!() + * fn f(a: A, b: B) {} + * // ^^^^^^ + * type Foo = (T1, T2); + * // ^^^^^^^^ * ``` */ final class GenericParamList = Impl::GenericParamList; diff --git a/rust/ql/lib/codeql/rust/elements/TypeAlias.qll b/rust/ql/lib/codeql/rust/elements/TypeAlias.qll index a3bd36bf7288..6cccf6a24003 100644 --- a/rust/ql/lib/codeql/rust/elements/TypeAlias.qll +++ b/rust/ql/lib/codeql/rust/elements/TypeAlias.qll @@ -16,9 +16,14 @@ import codeql.rust.elements.Visibility import codeql.rust.elements.WhereClause /** - * A TypeAlias. For example: + * A type alias. For example: * ```rust - * todo!() + * type Point = (u8, u8); + * + * trait Trait { + * type Output; + * // ^^^^^^^^^^^ + * } * ``` */ final class TypeAlias = Impl::TypeAlias; diff --git a/rust/ql/lib/codeql/rust/elements/internal/GenericParamListImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/GenericParamListImpl.qll index 1ebb52e9a391..95fcc406adc7 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/GenericParamListImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/GenericParamListImpl.qll @@ -15,9 +15,12 @@ module Impl { // the following QLdoc is generated: if you need to edit it, do it in the schema file /** - * A GenericParamList. For example: + * A list of generic parameters. For example: * ```rust - * todo!() + * fn f(a: A, b: B) {} + * // ^^^^^^ + * type Foo = (T1, T2); + * // ^^^^^^^^ * ``` */ class GenericParamList extends Generated::GenericParamList { diff --git a/rust/ql/lib/codeql/rust/elements/internal/TypeAliasImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TypeAliasImpl.qll index e8553da37a0b..916e005f5aeb 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/TypeAliasImpl.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/TypeAliasImpl.qll @@ -1,4 +1,3 @@ -// generated by codegen, remove this comment if you wish to edit this file /** * This module provides a hand-modifiable wrapper around the generated class `TypeAlias`. * @@ -12,11 +11,27 @@ private import codeql.rust.elements.internal.generated.TypeAlias * be referenced directly. */ module Impl { + // the following QLdoc is generated: if you need to edit it, do it in the schema file /** - * A TypeAlias. For example: + * A type alias. For example: * ```rust - * todo!() + * type Point = (u8, u8); + * + * trait Trait { + * type Output; + * // ^^^^^^^^^^^ + * } * ``` */ - class TypeAlias extends Generated::TypeAlias { } + class TypeAlias extends Generated::TypeAlias { + override string toStringImpl() { result = concat(int i | | this.toStringPart(i) order by i) } + + private string toStringPart(int index) { + index = 0 and result = "type " + or + index = 1 and result = this.getName().getText() + or + index = 2 and result = this.getGenericParamList().toAbbreviatedString() + } + } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/GenericParamList.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/GenericParamList.qll index 3d726fa85bc7..574bcb5f6f3a 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/GenericParamList.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/GenericParamList.qll @@ -15,9 +15,12 @@ import codeql.rust.elements.GenericParam */ module Generated { /** - * A GenericParamList. For example: + * A list of generic parameters. For example: * ```rust - * todo!() + * fn f(a: A, b: B) {} + * // ^^^^^^ + * type Foo = (T1, T2); + * // ^^^^^^^^ * ``` * INTERNAL: Do not reference the `Generated::GenericParamList` class directly. * Use the subclass `GenericParamList`, where the following predicates are available. 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 c7a1472362eb..3ddae8aceb7c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -409,9 +409,12 @@ module Raw { /** * INTERNAL: Do not use. - * A GenericParamList. For example: + * A list of generic parameters. For example: * ```rust - * todo!() + * fn f(a: A, b: B) {} + * // ^^^^^^ + * type Foo = (T1, T2); + * // ^^^^^^^^ * ``` */ class GenericParamList extends @generic_param_list, AstNode { @@ -4034,9 +4037,14 @@ module Raw { /** * INTERNAL: Do not use. - * A TypeAlias. For example: + * A type alias. For example: * ```rust - * todo!() + * type Point = (u8, u8); + * + * trait Trait { + * type Output; + * // ^^^^^^^^^^^ + * } * ``` */ class TypeAlias extends @type_alias, AssocItem, ExternItem, Item { diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/TypeAlias.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/TypeAlias.qll index b460194cdc35..7f2f904bd437 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/TypeAlias.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/TypeAlias.qll @@ -23,9 +23,14 @@ import codeql.rust.elements.WhereClause */ module Generated { /** - * A TypeAlias. For example: + * A type alias. For example: * ```rust - * todo!() + * type Point = (u8, u8); + * + * trait Trait { + * type Output; + * // ^^^^^^^^^^^ + * } * ``` * INTERNAL: Do not reference the `Generated::TypeAlias` class directly. * Use the subclass `TypeAlias`, where the following predicates are available. diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list index aef0f436e5a3..094b0a5c5149 100644 --- a/rust/ql/test/extractor-tests/generated/.generated_tests.list +++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list @@ -38,7 +38,7 @@ FormatArgsExpr/gen_format_args_expr.rs 72c806ed163e9dcce2d0c5c8664d409b2aa635c10 FormatArgsExpr/gen_format_argument.rs 350d370e6f1db03d756384a3dbdb294697d241ff7c28d159cf57748abe99cfe9 350d370e6f1db03d756384a3dbdb294697d241ff7c28d159cf57748abe99cfe9 Function/gen_function.rs ba6ecb9e0d89183295eb02f3c20ebbf5c209f89bd0172c73a3b4a6dacbf3a54c ba6ecb9e0d89183295eb02f3c20ebbf5c209f89bd0172c73a3b4a6dacbf3a54c GenericArgList/gen_generic_arg_list.rs cfb072d3b48f9dd568c23d4dfefba28766628678f66bbf9a436de9919ead35f5 cfb072d3b48f9dd568c23d4dfefba28766628678f66bbf9a436de9919ead35f5 -GenericParamList/gen_generic_param_list.rs 4cc9b628f53e1a6c5781ad195b8648fa6dee0bb41b24007fbd986527374d3669 4cc9b628f53e1a6c5781ad195b8648fa6dee0bb41b24007fbd986527374d3669 +GenericParamList/gen_generic_param_list.rs 3a1981a7c4731329ad6da0d887f09be04f31342d94f44711ac0ac455930f773a 3a1981a7c4731329ad6da0d887f09be04f31342d94f44711ac0ac455930f773a IdentPat/gen_ident_pat.rs 87f9201ca47683ff6f12a0c844c062fdedb6d86546794522d358b117ba0fe477 87f9201ca47683ff6f12a0c844c062fdedb6d86546794522d358b117ba0fe477 IfExpr/gen_if_expr.rs 2df66735394ebb20db29d3fbf2721ad4812afbe8d4614d03f26265c1f481f1e8 2df66735394ebb20db29d3fbf2721ad4812afbe8d4614d03f26265c1f481f1e8 Impl/gen_impl.rs dd97fa44ec844b735b30e7dfd1b8ecd4449c7914af1ea427edcba848194a84ed dd97fa44ec844b735b30e7dfd1b8ecd4449c7914af1ea427edcba848194a84ed @@ -122,7 +122,7 @@ TupleFieldList/gen_tuple_field_list.rs d2a5151b413be3edbf093c4f47a8d57945e794d39 TuplePat/gen_tuple_pat.rs b1b0c9c5ff1b787f380644691c77807655a4f6441fc7431c90ecf78c54c26148 b1b0c9c5ff1b787f380644691c77807655a4f6441fc7431c90ecf78c54c26148 TupleStructPat/gen_tuple_struct_pat.rs 601ca8813272d15b4c8fd7402d0d28a42a62be82865eb5e86b985ad31464ca98 601ca8813272d15b4c8fd7402d0d28a42a62be82865eb5e86b985ad31464ca98 TupleTypeRepr/gen_tuple_type_repr.rs 4ce074df3739c7614eae850d54d28f0ee4869d64ccc5736c5b73bed7800a0470 4ce074df3739c7614eae850d54d28f0ee4869d64ccc5736c5b73bed7800a0470 -TypeAlias/gen_type_alias.rs eee732f674d9f999fee1e1976c426ba07f23c63b58b3a53c2026a4b922c00c8f eee732f674d9f999fee1e1976c426ba07f23c63b58b3a53c2026a4b922c00c8f +TypeAlias/gen_type_alias.rs da2b959f1a2a4f5471c231025404ca82a1bc79ac68adcda5a67292c428ad6143 da2b959f1a2a4f5471c231025404ca82a1bc79ac68adcda5a67292c428ad6143 TypeArg/gen_type_arg.rs 11e024708429bb683adc848d0be168cd9d190793833880e6ec74139df296e818 11e024708429bb683adc848d0be168cd9d190793833880e6ec74139df296e818 TypeBound/gen_type_bound.rs 4198346113b075812f79858ccbd467339d6b8039a449bd58c4710dd0aba1c9c1 4198346113b075812f79858ccbd467339d6b8039a449bd58c4710dd0aba1c9c1 TypeBoundList/gen_type_bound_list.rs bf70e31e5908e0eea6cdb4354ae78fc6ee1077b193409e741cac9b5d93d5deb2 bf70e31e5908e0eea6cdb4354ae78fc6ee1077b193409e741cac9b5d93d5deb2 diff --git a/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList.expected b/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList.expected index e69de29bb2d1..22f71c13aa6f 100644 --- a/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList.expected +++ b/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList.expected @@ -0,0 +1,2 @@ +| gen_generic_param_list.rs:5:9:5:14 | <...> | getNumberOfGenericParams: | 2 | +| gen_generic_param_list.rs:7:13:7:20 | <...> | getNumberOfGenericParams: | 2 | diff --git a/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList_getGenericParam.expected b/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList_getGenericParam.expected index e69de29bb2d1..01af2d987e94 100644 --- a/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList_getGenericParam.expected +++ b/rust/ql/test/extractor-tests/generated/GenericParamList/GenericParamList_getGenericParam.expected @@ -0,0 +1,4 @@ +| gen_generic_param_list.rs:5:9:5:14 | <...> | 0 | gen_generic_param_list.rs:5:10:5:10 | A | +| gen_generic_param_list.rs:5:9:5:14 | <...> | 1 | gen_generic_param_list.rs:5:13:5:13 | B | +| gen_generic_param_list.rs:7:13:7:20 | <...> | 0 | gen_generic_param_list.rs:7:14:7:15 | T1 | +| gen_generic_param_list.rs:7:13:7:20 | <...> | 1 | gen_generic_param_list.rs:7:18:7:19 | T2 | diff --git a/rust/ql/test/extractor-tests/generated/GenericParamList/gen_generic_param_list.rs b/rust/ql/test/extractor-tests/generated/GenericParamList/gen_generic_param_list.rs index a6b4414d2b5b..043ea80af6d7 100644 --- a/rust/ql/test/extractor-tests/generated/GenericParamList/gen_generic_param_list.rs +++ b/rust/ql/test/extractor-tests/generated/GenericParamList/gen_generic_param_list.rs @@ -1,6 +1,9 @@ // generated by codegen, do not edit fn test_generic_param_list() -> () { - // A GenericParamList. For example: - todo!() + // A list of generic parameters. For example: + fn f(a: A, b: B) {} + // ^^^^^^ + type Foo = (T1, T2); + // ^^^^^^^^ } diff --git a/rust/ql/test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.expected b/rust/ql/test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.expected index c7337ca090ae..a8b21eb84661 100644 --- a/rust/ql/test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.expected +++ b/rust/ql/test/extractor-tests/generated/Trait/AssocItemList_getAssocItem.expected @@ -1,3 +1,3 @@ -| gen_trait.rs:4:20:8:1 | AssocItemList | 0 | gen_trait.rs:5:3:5:18 | TypeAlias | -| gen_trait.rs:4:20:8:1 | AssocItemList | 1 | gen_trait.rs:6:3:6:20 | TypeAlias | +| gen_trait.rs:4:20:8:1 | AssocItemList | 0 | gen_trait.rs:5:3:5:18 | type Frobinator | +| gen_trait.rs:4:20:8:1 | AssocItemList | 1 | gen_trait.rs:6:3:6:20 | type Result | | gen_trait.rs:4:20:8:1 | AssocItemList | 2 | gen_trait.rs:7:3:7:72 | fn frobinize_with | diff --git a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias.expected b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias.expected index e69de29bb2d1..19ccc9349b1f 100644 --- a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias.expected +++ b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias.expected @@ -0,0 +1,2 @@ +| gen_type_alias.rs:4:5:5:26 | type Point | hasExtendedCanonicalPath: | no | hasCrateOrigin: | no | getNumberOfAttrs: | 0 | hasGenericParamList: | no | isDefault: | no | hasName: | yes | hasTypeRepr: | yes | hasTypeBoundList: | no | hasVisibility: | no | hasWhereClause: | no | +| gen_type_alias.rs:8:9:8:20 | type Output | hasExtendedCanonicalPath: | no | hasCrateOrigin: | no | getNumberOfAttrs: | 0 | hasGenericParamList: | no | isDefault: | no | hasName: | yes | hasTypeRepr: | no | hasTypeBoundList: | no | hasVisibility: | no | hasWhereClause: | no | diff --git a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getName.expected b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getName.expected index e69de29bb2d1..57aefa9327d3 100644 --- a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getName.expected +++ b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getName.expected @@ -0,0 +1,2 @@ +| gen_type_alias.rs:4:5:5:26 | type Point | gen_type_alias.rs:5:10:5:14 | Point | +| gen_type_alias.rs:8:9:8:20 | type Output | gen_type_alias.rs:8:14:8:19 | Output | diff --git a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getTypeRepr.expected b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getTypeRepr.expected index e69de29bb2d1..a15078cc57d8 100644 --- a/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getTypeRepr.expected +++ b/rust/ql/test/extractor-tests/generated/TypeAlias/TypeAlias_getTypeRepr.expected @@ -0,0 +1 @@ +| gen_type_alias.rs:4:5:5:26 | type Point | gen_type_alias.rs:5:18:5:25 | TupleTypeRepr | diff --git a/rust/ql/test/extractor-tests/generated/TypeAlias/gen_type_alias.rs b/rust/ql/test/extractor-tests/generated/TypeAlias/gen_type_alias.rs index e7aedd9c1266..e602a9e10444 100644 --- a/rust/ql/test/extractor-tests/generated/TypeAlias/gen_type_alias.rs +++ b/rust/ql/test/extractor-tests/generated/TypeAlias/gen_type_alias.rs @@ -1,6 +1,11 @@ // generated by codegen, do not edit fn test_type_alias() -> () { - // A TypeAlias. For example: - todo!() + // A type alias. For example: + type Point = (u8, u8); + + trait Trait { + type Output; + // ^^^^^^^^^^^ + } } diff --git a/rust/ql/test/library-tests/path-resolution/path-resolution.expected b/rust/ql/test/library-tests/path-resolution/path-resolution.expected index 445eb3d9403a..51dcc55b9e2d 100644 --- a/rust/ql/test/library-tests/path-resolution/path-resolution.expected +++ b/rust/ql/test/library-tests/path-resolution/path-resolution.expected @@ -131,7 +131,7 @@ resolvePath | main.rs:261:17:261:17 | C | main.rs:254:9:254:9 | C | | main.rs:274:16:274:16 | T | main.rs:268:7:268:7 | T | | main.rs:275:14:275:17 | Self | main.rs:266:5:276:5 | trait MyParamTrait | -| main.rs:275:14:275:33 | ...::AssociatedType | main.rs:270:9:270:28 | TypeAlias | +| main.rs:275:14:275:33 | ...::AssociatedType | main.rs:270:9:270:28 | type AssociatedType | | main.rs:284:13:284:17 | crate | main.rs:0:0:0:0 | Crate(main@0.0.1) | | main.rs:284:13:284:22 | ...::m13 | main.rs:279:1:292:1 | mod m13 | | main.rs:284:13:284:25 | ...::f | main.rs:280:5:280:17 | fn f | diff --git a/rust/schema/annotations.py b/rust/schema/annotations.py index 68d2c1a7736c..d5e7d1d3ea03 100644 --- a/rust/schema/annotations.py +++ b/rust/schema/annotations.py @@ -1123,9 +1123,12 @@ class _: @annotate(GenericParamList) class _: """ - A GenericParamList. For example: + A list of generic parameters. For example: ```rust - todo!() + fn f(a: A, b: B) {} + // ^^^^^^ + type Foo = (T1, T2); + // ^^^^^^^^ ``` """ @@ -1705,9 +1708,14 @@ class _: @annotate(TypeAlias) class _: """ - A TypeAlias. For example: + A type alias. For example: ```rust - todo!() + type Point = (u8, u8); + + trait Trait { + type Output; + // ^^^^^^^^^^^ + } ``` """