Rust: add upgrade script

This commit is contained in:
Paolo Tranquilli
2025-08-18 13:06:30 +02:00
parent 7a95d5aaa6
commit a8671452fc
28 changed files with 14749 additions and 68 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: TODO
compatibility: backwards

View File

@@ -58,7 +58,7 @@ lib/codeql/rust/elements/FieldList.qll 72f3eace2f0c0600b1ad059819ae756f1feccd155
lib/codeql/rust/elements/FnPtrTypeRepr.qll d4586ac5ee2382b5ef9daafa77c7b3c1b7564647aa20d1efb1626299cde87ba9 48d9b63725c9cd89d79f9806fa5d5f22d7815e70bbd78d8da40a2359ac53fef5
lib/codeql/rust/elements/ForBinder.qll ee29b55cb4c1fa5180cc4ee1236ac089fe9f67ffa9e5a1474003b717f1ac6e0f 5b811c8cf9550cb675034315e03c5cbbfa7544ad3a696988e04d780037d434bf
lib/codeql/rust/elements/ForExpr.qll a050f60cf6fcc3ce66f5042be1b8096e5207fe2674d7477f9e299091ca99a4bd d7198495139649778894e930163add2d16b5588dd12bd6e094a9aec6863cb16f
lib/codeql/rust/elements/ForTypeRepr.qll 0315e6850eb09d9debdd6843e4ce0cfa15a4b9502f1b81dbaafcd263efc62511 e0e612a9686502f3ff48321fea28be6f0720dfd22aad929b446b573ae70297d4
lib/codeql/rust/elements/ForTypeRepr.qll 32473eeafc32aabfda770d585fd77a19f4eb0b55f1d78ae78f220b6371b6169c a3c4d5d406abe5513f3ed7a80a3d1cbd4d5cdeec2704eb1c12081220ebe44618
lib/codeql/rust/elements/Format.qll 1b186730710e7e29ea47594998f0b359ad308927f84841adae0c0cb35fc8aeda d6f7bfdda60a529fb9e9a1975628d5bd11aa28a45e295c7526692ac662fd19f8
lib/codeql/rust/elements/FormatArgsArg.qll a2c23cd512d44dd60b7d65eba52cc3adf6e2fbbcd0588be375daa16002cd7741 d9c5fe183fb228375223d83f857b7a9ee686f1d3e341bcf323d7c6f39652f88b
lib/codeql/rust/elements/FormatArgsExpr.qll 8127cbe4082f7acc3d8a05298c2c9bea302519b8a6cd2d158a83c516d18fc487 88cf9b3bedd69a1150968f9a465c904bbb6805da0e0b90cfd1fc0dab1f6d9319
@@ -168,7 +168,7 @@ lib/codeql/rust/elements/TupleStructPat.qll da398a23eb616bf7dd586b2a87f4ab00f286
lib/codeql/rust/elements/TupleTypeRepr.qll 1ac5abf6281ea31680a4098407fbe55459d08f92a50dec20d1f8b93d498eee41 6d9625cce4e4abf6b6e6c22e47880fbd23740d07b621137bd7fa0a2ee13badd9
lib/codeql/rust/elements/TypeAlias.qll b59f24488f0d7de8d4046a9e0ca1e1f54d1d5c11e035898b11ab97e151fc600f 7b25c9e14c8bb310cec796824904fcefced2cc486d55e981b80b7620e73dd2d7
lib/codeql/rust/elements/TypeArg.qll e91dbb399d2ab7cf7af9dd5f743a551d0bf91dba3cfb76cea9e2d42ada0f9f2e c67d64e20e35a9bba5092651e0f82c75ba53b8c165e823bc81d67975107ae375
lib/codeql/rust/elements/TypeBound.qll d5b2a904e497ba1899fb9e19547a6dfa7716c8aabe1e6e19070cbb58af32321b eabb16616afe3e88a25db4519174828a7ead1eb69ec7f98ef4abf4b3ead1c220
lib/codeql/rust/elements/TypeBound.qll 33583aed81734348c5097851cde3568668f259c000ccde901c75a3f2eef30237 3c9e541d47c5cfbcb0b1c5806f5d9abd7f51382d1efc1328742439e11285ab32
lib/codeql/rust/elements/TypeBoundList.qll 61a861e89b3de23801c723531cd3331a61214817a230aaae74d91cb60f0e096f d54e3d830bb550c5ba082ccd09bc0dc4e6e44e8d11066a7afba5a7172aa687a8
lib/codeql/rust/elements/TypeParam.qll 0787c1cc0c121e5b46f7d8e25153fd1b181bd3432eb040cf3b4ae3ed9ac2f28c 50092950f52a4e3bfd961dff4ffd8a719ef66ca1a0914bd33e26fed538321999
lib/codeql/rust/elements/TypeRepr.qll ea41b05ef0aaac71da460f9a6a8331cf98166f2c388526068ddacbd67488c892 11a01e42dab9183bac14de1ca49131788ede99e75b0ef759efcbc7cf08524184
@@ -185,7 +185,7 @@ lib/codeql/rust/elements/Variant.qll 7895461fa728f6c3a7293799c5e6b965b413b679566
lib/codeql/rust/elements/VariantList.qll 39803fbb873d48202c2a511c00c8eafede06e519894e0fd050c2a85bf5f4aa73 1735f89b2b8f6d5960a276b87ea10e4bb8c848c24a5d5fad7f3add7a4d94b7da
lib/codeql/rust/elements/Visibility.qll aa69e8a3fd3b01f6fea0ae2d841a2adc51f4e46dcfc9f8f03c34fbe96f7e24e7 0d475e97e07b73c8da2b53555085b8309d8dc69c113bcb396fc901361dbfe6b8
lib/codeql/rust/elements/WhereClause.qll 4e28e11ceec835a093e469854a4b615e698309cdcbc39ed83810e2e4e7c5953f 4736baf689b87dd6669cb0ef9e27eb2c0f2776ce7f29d7693670bbcea06eb4e4
lib/codeql/rust/elements/WherePred.qll 35ef2580d20ffa6fadb05ea38152b5e4953b4dc827326e96969cd86d2dfdbfdc 6b8f7abf81bfeff7a16539f6a18746e02daedad42145b1c5a0b8cfa33676cbf8
lib/codeql/rust/elements/WherePred.qll 589027c2fddb07620f74b8ed5e471fab49bef389749e498069d7c1fe50912cc7 dd7c90ff9c5bd563f0b8a088e0890ee11c6d5b2269223f22be01f0e1dbe0f5e2
lib/codeql/rust/elements/WhileExpr.qll 4a37e3ecd37c306a9b93b610a0e45e18adc22fcd4ce955a519b679e9f89b97e8 82026faa73b94390544e61ed2f3aaeaabd3e457439bb76d2fb06b0d1edd63f49
lib/codeql/rust/elements/WildcardPat.qll 4f941afc5f9f8d319719312399a8f787c75a0dbb709ec7cf488f019339635aab a9140a86da752f9126e586ddb9424b23b3fb4841a5420bac48108c38bb218930
lib/codeql/rust/elements/YeetExpr.qll 4172bf70de31cab17639da6eed4a12a7afcefd7aa9182216c3811c822d3d6b17 88223aab1bef696f508e0605615d6b83e1eaef755314e6a651ae977edd3757c3
@@ -272,10 +272,9 @@ lib/codeql/rust/elements/internal/FieldListImpl.qll 6b80b573989ee85389c4485729a4
lib/codeql/rust/elements/internal/FnPtrTypeReprConstructor.qll 61d8808ea027a6e04d5304c880974332a0195451f6b4474f84b3695ec907d865 0916c63a02b01a839fe23ec8b189d37dc1b8bc4e1ba753cbf6d6f5067a46965a
lib/codeql/rust/elements/internal/FnPtrTypeReprImpl.qll 6b66f9bda1b5deba50a02b6ac7deb8e922da04cf19d6ed9834141bc97074bf14 b0a07d7b9204256a85188fda2deaf14e18d24e8a881727fd6e5b571bf9debdc8
lib/codeql/rust/elements/internal/ForBinderConstructor.qll 98f16b0106a19210713404f4be8b1b9f70c88efb0b88bdf2f9ea9c8fbd129842 a7af9e75f11d824a60c367924542a31a0f46f7b1f88d3ee330d4dd26b2f29df5
lib/codeql/rust/elements/internal/ForBinderImpl.qll 62e957e4e8a68816defed494e706a37a83ad30a455ded913b48c2c3d9c51d728 e38e1b93963513704efebec2c63e5f9a9eae372fe88e1dc8c480885e21528121
lib/codeql/rust/elements/internal/ForExprConstructor.qll d79b88dac19256300b758ba0f37ce3f07e9f848d6ae0c1fdb87bd348e760aa3e 62123b11858293429aa609ea77d2f45cb8c8eebae80a1d81da6f3ad7d1dbc19b
lib/codeql/rust/elements/internal/ForTypeReprConstructor.qll eae141dbe9256ab0eb812a926ebf226075d150f6506dfecb56c85eb169cdc76b 721c2272193a6f9504fb780d40e316a93247ebfb1f302bb0a0222af689300245
lib/codeql/rust/elements/internal/ForTypeReprImpl.qll 75747779312b3f3ffdd02188053ba3f46b8922f02630711902f7a27eecced31a 71a900f014758d1473ef198c71892d42e20dd96e934d4bedb74581964c4d1503
lib/codeql/rust/elements/internal/ForTypeReprImpl.qll d710208dfd3f54d973e86356f051e2938fed1025562965d6ecf6b19c0701de16 510baafa9ebc9b32969cefc5b68716fa02696f5814ae417b0cd2d9aece69f6ac
lib/codeql/rust/elements/internal/FormatArgsArgConstructor.qll 8bd9b4e035ef8adeb3ac510dd68043934c0140facb933be1f240096d01cdfa11 74e9d3bbd8882ae59a7e88935d468e0a90a6529a4e2af6a3d83e93944470f0ee
lib/codeql/rust/elements/internal/FormatArgsArgImpl.qll 6a8f55e51e141e4875ed03a7cc65eea49daa349de370b957e1e8c6bc4478425c 7efab8981ccbe75a4843315404674793dda66dde02ba432edbca25c7d355778a
lib/codeql/rust/elements/internal/FormatArgsExprConstructor.qll ce29ff5a839b885b1ab7a02d6a381ae474ab1be3e6ee7dcfd7595bdf28e4b558 63bf957426871905a51ea319662a59e38104c197a1024360aca364dc145b11e8
@@ -422,7 +421,7 @@ lib/codeql/rust/elements/internal/TypeAliasConstructor.qll 048caa79eb7d400971e3e
lib/codeql/rust/elements/internal/TypeArgConstructor.qll 51d621e170fdf5f91497f8cc8c1764ce8a59fde5a2b9ecfad17ce826a96c56c4 a5bbb329bde456a40ffa84a325a4be1271dbde842c1573d1beb7056c8fb0f681
lib/codeql/rust/elements/internal/TypeArgImpl.qll 77886af8b2c045463c4c34d781c8f618eec5f5143098548047730f73c7e4a34a 6be6c519b71f9196e0559958e85efe8a78fbce7a90ca2401d7c402e46bc865c9
lib/codeql/rust/elements/internal/TypeBoundConstructor.qll ba99616e65cf2811187016ff23e5b0005cfd0f1123622e908ff8b560aaa5847f fde78432b55b31cf68a3acb7093256217df37539f942c4441d1b1e7bf9271d89
lib/codeql/rust/elements/internal/TypeBoundImpl.qll 8a68e3c3b2bffb02a11e07102f57e8806411dbcb57f24be27a0d615a1f6f20d4 e6c92d5df538a10519655c1d2a063bb1ca1538d5d8fe9353ed0e28ad6d56be0c
lib/codeql/rust/elements/internal/TypeBoundImpl.qll 7274dc0307595f7431343d7542b9441362087bcb1115b21bc5ffa02f2d3dd678 257cad7cd2658cf707ee9ae2bb99a4c7e3e51e6c237d272f3058571f1e5cb133
lib/codeql/rust/elements/internal/TypeBoundListConstructor.qll 4b634b3a4ca8909ce8c0d172d9258168c5271435474089902456c2e3e47ae1c5 3af74623ced55b3263c096810a685517d36b75229431b81f3bb8101294940025
lib/codeql/rust/elements/internal/TypeBoundListImpl.qll 5641aca40c0331899f4291188e60945eb2a01679e3b33883053309fb3823d9ab c84bb1daa7c10f3bb634a179957934d7ae1bef1380fcd8a9c734004625575485
lib/codeql/rust/elements/internal/TypeParamConstructor.qll a6e57cccd6b54fa68742d7b8ce70678a79ac133ea8c1bfa89d60b5f74ad07e05 0e5f45d250d736aaf40387be22e55288543bdb55bbb20ecb43f2f056e8be8b09
@@ -447,7 +446,7 @@ lib/codeql/rust/elements/internal/VisibilityImpl.qll 85c1e75d6a7f9246cfef5c261e2
lib/codeql/rust/elements/internal/WhereClauseConstructor.qll 6d6f0f0376cf45fac37ea0c7c4345d08718d2a3d6d913e591de1de9e640317c9 ff690f3d4391e5f1fae6e9014365810105e8befe9d6b52a82625994319af9ffd
lib/codeql/rust/elements/internal/WhereClauseImpl.qll 006e330df395183d15896e5f81128e24b8274d849fe45afb5040444e4b764226 ed5e8317b5f33104e5c322588dc400755c8852bbb77ef835177b13af7480fd43
lib/codeql/rust/elements/internal/WherePredConstructor.qll f331c37085792a01159e8c218e9ef827e80e99b7c3d5978b6489808f05bd11f8 179cad3e4c5aaaf27755891694ef3569322fcf34c5290e6af49e5b5e3f8aa732
lib/codeql/rust/elements/internal/WherePredImpl.qll 6cecb4a16c39a690d6549c0ca8c38cf2be93c03c167f81466b8b2572f8457ada ddf6583bc6e4aa4a32c156f7468a26780867b2973ff91e6fc4d1b1c72fdd0990
lib/codeql/rust/elements/internal/WherePredImpl.qll eabd6553a16165ddb0103602d8cff65c6af22580ea7a0e2beabbf795ffabdb2d 8025d8bd2351ec2de8273225a6e59d46748d7bfd7e53251fa4eb90d5140afd92
lib/codeql/rust/elements/internal/WhileExprConstructor.qll 01eb17d834584b3cba0098d367324d137aacfc60860752d9053ec414180897e7 e5e0999fb48a48ba9b3e09f87d8f44f43cc3d8a276059d9f67e7714a1852b8a5
lib/codeql/rust/elements/internal/WildcardPatConstructor.qll 5980c4e5724f88a8cb91365fc2b65a72a47183d01a37f3ff11dcd2021e612dd9 c015e94953e02dc405f8cdc1f24f7cae6b7c1134d69878e99c6858143fc7ab34
lib/codeql/rust/elements/internal/YeetExprConstructor.qll 7763e1717d3672156587250a093dd21680ad88c8224a815b472e1c9bba18f976 70dd1fd50824902362554c8c6075468060d0abbe3b3335957be335057512a417
@@ -515,7 +514,7 @@ lib/codeql/rust/elements/internal/generated/FieldList.qll 35bb72a673c02afafc1f61
lib/codeql/rust/elements/internal/generated/FnPtrTypeRepr.qll f218fa57a01ecc39b58fa15893d6499c15ff8ab8fd9f4ed3078f0ca8b3f15c7e 2d1a7325cf2bd0174ce6fc15e0cbe39c7c1d8b40db5f91e5329acb339a1ad1e8
lib/codeql/rust/elements/internal/generated/ForBinder.qll 7be6b8e3934db8cd4ac326625cf637dda4b175fd7573a52d2feb147769c4c6a1 234484b9b4cf3a20c97334417700db5029da65313410b3c9e929512c509e5c27
lib/codeql/rust/elements/internal/generated/ForExpr.qll 7c497d2c612fd175069037d6d7ff9339e8aec63259757bb56269e9ca8b0114ea dc48c0ad3945868d6bd5e41ca34a41f8ee74d8ba0adc62b440256f59c7f21096
lib/codeql/rust/elements/internal/generated/ForTypeRepr.qll a8fcdff13e30cce9c30fc3ae81db9ee7160b3028872cb3a60db78523a3ffe771 d3dda40fd2547bd1acd2eeb4d1bc72a4487400bb0752e9679bbb6aea0debf35a
lib/codeql/rust/elements/internal/generated/ForTypeRepr.qll 11f21528d55f41d28d2b1da71631da1c02053ac723e697b886e586572c919999 852b977fe46b87efd6741a2f3c7e3d22a7e2a55a75b9c26d9dc4ea2154fe3653
lib/codeql/rust/elements/internal/generated/Format.qll 934351f8a8ffd914cc3fd88aca8e81bf646236fe34d15e0df7aeeb0b942b203f da9f146e6f52bafd67dcfd3b916692cf8f66031e0b1d5d17fc8dda5eefb99ca0
lib/codeql/rust/elements/internal/generated/FormatArgsArg.qll c762a4af8609472e285dd1b1aec8251421aec49f8d0e5ce9df2cc5e2722326f8 c8c226b94b32447634b445c62bd9af7e11b93a706f8fa35d2de4fda3ce951926
lib/codeql/rust/elements/internal/generated/FormatArgsExpr.qll 8aed8715a27d3af3de56ded4610c6792a25216b1544eb7e57c8b0b37c14bd9c1 590a2b0063d2ecd00bbbd1ce29603c8fd69972e34e6daddf309c915ce4ec1375
@@ -590,7 +589,7 @@ 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 5de291e604fbeb5a4536eeb2a417f95b227a600bb589f7aab075971cd1cbfc67 22e5b41fba360781f354edb72dbc8f53b9d7434c30d3e3bac4c22f1faa72b8ed
lib/codeql/rust/elements/internal/generated/Raw.qll e33ef2818c9bbdd5030903592ba07286c28b35b1952fa3f4ffb0ce27173fef04 fb0a5e30947e13a06d867049ced5547d5d7bc80ac2f55c6912b2c0d1d1446072
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
@@ -631,7 +630,7 @@ lib/codeql/rust/elements/internal/generated/TupleStructPat.qll 6539d0edbdc16e7df
lib/codeql/rust/elements/internal/generated/TupleTypeRepr.qll 1756cdbad56d634bf4726bc39c768386754e62650492d7d6344012038236a05b 3ac0997a47f95f28cc70c782173ce345fcb5b073be10f3c0b414d1df8443e04c
lib/codeql/rust/elements/internal/generated/TypeAlias.qll 0d0c97d9e9213b8f0390b3456737d4611701a570b9943bb20b348c4efc8e4693 a83c701c0d8914e01517dfa9253a12be962f0a7ed2f75fbaae25a13432db403f
lib/codeql/rust/elements/internal/generated/TypeArg.qll 80245e4b52bef30e5033d4c765c72531324385deea1435dc623290271ff05b1d 097926e918dcd897ea1609010c5490dbf45d4d8f4cffb9166bcadf316a2f1558
lib/codeql/rust/elements/internal/generated/TypeBound.qll 15e118049bb5aae24bce580e3dff62b7e73dcce9f7c6bc8dfd59d2c25ed64244 f18a35749f8fc003221e8f4315160756be592406637441929eda919ac493e835
lib/codeql/rust/elements/internal/generated/TypeBound.qll ed27681b76b8f3ad790daad4a08f3bc243452821246bcb240b1d925bc1c362a3 8fdc0caf91f1894d8711d68547185eb029446898b66f60fc0d10ef862cd6292e
lib/codeql/rust/elements/internal/generated/TypeBoundList.qll c5d43dc27075a0d5370ba4bc56b4e247357af5d2989625deff284e7846a3a48b c33c87d080e6eb6df01e98b8b0031d780472fcaf3a1ed156a038669c0e05bf0a
lib/codeql/rust/elements/internal/generated/TypeParam.qll 81a8d39f1e227de031187534e5d8e2c34f42ad3433061d686cadfbdd0df54285 893795d62b5b89997574e9057701d308bea2c4dca6053042c5308c512137e697
lib/codeql/rust/elements/internal/generated/TypeRepr.qll 1e7b9d2ddab86e35dad7c31a6453a2a60747420f8bc2e689d5163cab4fec71bb eb80e3947649e511e7f3555ffc1fd87199e7a32624449ca80ffad996cdf9e2f3
@@ -648,7 +647,7 @@ lib/codeql/rust/elements/internal/generated/Variant.qll fa6909715133049b3dba4622
lib/codeql/rust/elements/internal/generated/VariantList.qll 3f70bfde982e5c5e8ee45da6ebe149286214f8d40377d5bc5e25df6ae8f3e2d1 22e5f428bf64fd3fd21c537bfa69a46089aad7c363d72c6566474fbe1d75859e
lib/codeql/rust/elements/internal/generated/Visibility.qll af1069733c0120fae8610b3ebbcdcebe4b4c9ce4c3e3d9be3f82a93541873625 266106bdff4d7041d017871d755c011e7dd396c5999803d9e46725b6a03a2458
lib/codeql/rust/elements/internal/generated/WhereClause.qll aec72d358689d99741c769b6e8e72b92c1458138c097ec2380e917aa68119ff0 81bb9d303bc0c8d2513dc7a2b8802ec15345b364e6c1e8b300f7860aac219c36
lib/codeql/rust/elements/internal/generated/WherePred.qll 6826373cede8b4ac5d4719a183c6b30f840d48266f0e0c8e400574476f5a2f15 a82dcc24efac562d5b6247f9a105465ebafc9bebb4fc3648518bf9166e300dbd
lib/codeql/rust/elements/internal/generated/WherePred.qll 73b28efc1682bf527bdc97a07568d08666d61686940400c99095cb9593bc8df3 2ec1fb5577d033c120d31f1620753b3618fcb7f384a35a6d3e6b5e0bb375a8a5
lib/codeql/rust/elements/internal/generated/WhileExpr.qll 0353aab87c49569e1fbf5828b8f44457230edfa6b408fb5ec70e3d9b70f2e277 e1ba7c9c41ff150b9aaa43642c0714def4407850f2149232260c1a2672dd574a
lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499
lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b

1
rust/ql/.gitattributes generated vendored
View File

@@ -274,7 +274,6 @@
/lib/codeql/rust/elements/internal/FnPtrTypeReprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/FnPtrTypeReprImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/ForBinderConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/ForBinderImpl.qll linguist-generated
/lib/codeql/rust/elements/internal/ForExprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/ForTypeReprConstructor.qll linguist-generated
/lib/codeql/rust/elements/internal/ForTypeReprImpl.qll linguist-generated

View File

@@ -8,17 +8,13 @@ import codeql.rust.elements.ForBinder
import codeql.rust.elements.TypeRepr
/**
* A higher-ranked trait bound.
* A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
* only be applied to traits to form a `TypeBound`).
*
* For example:
* ```rust
* fn foo<T>(value: T)
* where
* T: for<'a> Fn(&'a str) -> &'a str
* // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* {
* // ...
* }
* fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
* // ^^^^^^^^^^^^^
* ```
*/
final class ForTypeRepr = Impl::ForTypeRepr;

View File

@@ -17,6 +17,8 @@ import codeql.rust.elements.UseBoundGenericArgs
* ```rust
* fn foo<T: Debug>(t: T) {}
* // ^^^^^
* fn bar(value: impl for<'a> From<&'a str>) {}
* // ^^^^^^^^^^^^^^^^^^^^^
* ```
*/
final class TypeBound = Impl::TypeBound;

View File

@@ -17,6 +17,8 @@ import codeql.rust.elements.TypeRepr
* ```rust
* fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
* // ^^^^^^^^ ^^^^^^^^
* fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
* // ^^^^^^^^^^^^^^^^^^^^^^^^
* ```
*/
final class WherePred = Impl::WherePred;

View File

@@ -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 `ForBinder`.
*
@@ -12,6 +11,7 @@ private import codeql.rust.elements.internal.generated.ForBinder
* be referenced directly.
*/
module Impl {
// the following QLdoc is generated: if you need to edit it, do it in the schema file
/**
* A for binder, specifying lifetime or type parameters for a closure or a type.
*
@@ -26,5 +26,7 @@ module Impl {
* print_any("hello");
* ```
*/
class ForBinder extends Generated::ForBinder { }
class ForBinder extends Generated::ForBinder {
override string toStringImpl() { result = "for<...>" }
}
}

View File

@@ -13,17 +13,13 @@ private import codeql.rust.elements.internal.generated.ForTypeRepr
*/
module Impl {
/**
* A higher-ranked trait bound.
* A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
* only be applied to traits to form a `TypeBound`).
*
* For example:
* ```rust
* fn foo<T>(value: T)
* where
* T: for<'a> Fn(&'a str) -> &'a str
* // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* {
* // ...
* }
* fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
* // ^^^^^^^^^^^^^
* ```
*/
class ForTypeRepr extends Generated::ForTypeRepr { }

View File

@@ -19,6 +19,8 @@ module Impl {
* ```rust
* fn foo<T: Debug>(t: T) {}
* // ^^^^^
* fn bar(value: impl for<'a> From<&'a str>) {}
* // ^^^^^^^^^^^^^^^^^^^^^
* ```
*/
class TypeBound extends Generated::TypeBound { }

View File

@@ -19,6 +19,8 @@ module Impl {
* ```rust
* fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
* // ^^^^^^^^ ^^^^^^^^
* fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
* // ^^^^^^^^^^^^^^^^^^^^^^^^
* ```
*/
class WherePred extends Generated::WherePred { }

View File

@@ -16,17 +16,13 @@ import codeql.rust.elements.internal.TypeReprImpl::Impl as TypeReprImpl
*/
module Generated {
/**
* A higher-ranked trait bound.
* A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
* only be applied to traits to form a `TypeBound`).
*
* For example:
* ```rust
* fn foo<T>(value: T)
* where
* T: for<'a> Fn(&'a str) -> &'a str
* // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* {
* // ...
* }
* fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
* // ^^^^^^^^^^^^^
* ```
* INTERNAL: Do not reference the `Generated::ForTypeRepr` class directly.
* Use the subclass `ForTypeRepr`, where the following predicates are available.

View File

@@ -1204,6 +1204,8 @@ module Raw {
* ```rust
* fn foo<T: Debug>(t: T) {}
* // ^^^^^
* fn bar(value: impl for<'a> From<&'a str>) {}
* // ^^^^^^^^^^^^^^^^^^^^^
* ```
*/
class TypeBound extends @type_bound, AstNode {
@@ -1414,6 +1416,8 @@ module Raw {
* ```rust
* fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
* // ^^^^^^^^ ^^^^^^^^
* fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
* // ^^^^^^^^^^^^^^^^^^^^^^^^
* ```
*/
class WherePred extends @where_pred, AstNode {
@@ -2200,17 +2204,13 @@ module Raw {
/**
* INTERNAL: Do not use.
* A higher-ranked trait bound.
* A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
* only be applied to traits to form a `TypeBound`).
*
* For example:
* ```rust
* fn foo<T>(value: T)
* where
* T: for<'a> Fn(&'a str) -> &'a str
* // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* {
* // ...
* }
* fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
* // ^^^^^^^^^^^^^
* ```
*/
class ForTypeRepr extends @for_type_repr, TypeRepr {

View File

@@ -24,6 +24,8 @@ module Generated {
* ```rust
* fn foo<T: Debug>(t: T) {}
* // ^^^^^
* fn bar(value: impl for<'a> From<&'a str>) {}
* // ^^^^^^^^^^^^^^^^^^^^^
* ```
* INTERNAL: Do not reference the `Generated::TypeBound` class directly.
* Use the subclass `TypeBound`, where the following predicates are available.

View File

@@ -24,6 +24,8 @@ module Generated {
* ```rust
* fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
* // ^^^^^^^^ ^^^^^^^^
* fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
* // ^^^^^^^^^^^^^^^^^^^^^^^^
* ```
* INTERNAL: Do not reference the `Generated::WherePred` class directly.
* Use the subclass `WherePred`, where the following predicates are available.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
description: Upgrade rust-analyzer to 0.0.300
compatibility: backwards
closure_binders.rel: delete
closure_binder_generic_param_lists.rel: delete
where_pred_generic_param_lists.rel: delete
for_type_repr_generic_param_lists.rel: delete
closure_expr_closure_binders.rel: delete
closure_expr_for_binders.rel: reorder closure_expr_closure_binders.rel (@closure_expr id, @closure_binder binder) id binder
for_binders.rel: run upgrade.ql new_for_binders
for_binder_generic_param_lists.rel: run upgrade.ql new_for_binder_generic_param_lists
for_type_repr_for_binders.rel: run upgrade.ql new_for_type_repr_for_binders
where_pred_for_binders.rel: run upgrade.ql new_where_pred_for_binders
type_bound_for_binders.rel: run upgrade.ql new_type_bound_for_binders
for_type_reprs.rel: run upgrade.ql new_for_type_reprs
type_bound_type_reprs.rel: run upgrade.ql new_type_bound_type_reprs
locatable_locations.rel: run upgrade.ql new_locatable_locations

View File

@@ -0,0 +1,94 @@
class Element extends @element {
string toString() { none() }
}
class ForTypeInTypeBound extends Element, @for_type_repr {
Element bound;
ForTypeInTypeBound() { type_bound_type_reprs(bound, this) }
Element getBound() { result = bound }
Element getGenericParamList() { for_type_repr_generic_param_lists(this, result) }
}
class Location extends @location_default {
string toString() { none() }
}
// we must create new `ForBinder` elements to wrap `genericParamList`s of
// `WherePred` and `ForType` elements
//
// previously, T: for<'a> X was TypeBound(type_repr=ForType(generic_param_list='a, type_repr=X))
// but now it is TypeBound(for_binder=ForBinder(<generic_param_list='a), type_repr=X>)
// so in that case we don't create new ForBinders, but rather we repurpose ForType ids as
// the new ForBinders ones
newtype TAddedElement =
TWherePredForBinder(Element wherePred, Element genericParamList) {
where_pred_generic_param_lists(wherePred, genericParamList)
} or
TForTypeForBinder(Element forType, Element genericParamList) {
for_type_repr_generic_param_lists(forType, genericParamList) and
not forType instanceof ForTypeInTypeBound
}
module Fresh = QlBuiltins::NewEntity<TAddedElement>;
class TNewElement = @element or Fresh::EntityId;
class NewElement extends TNewElement {
string toString() { none() }
Element newGenericParamList() {
this = Fresh::map(TWherePredForBinder(_, result)) or
this = Fresh::map(TForTypeForBinder(_, result))
}
}
query predicate new_for_binders(NewElement id) {
closure_binders(id) or
id = Fresh::map(_) or
id instanceof ForTypeInTypeBound
}
query predicate new_for_binder_generic_param_lists(NewElement id, Element list) {
closure_binder_generic_param_lists(id, list) or
id.newGenericParamList() = list or
id.(ForTypeInTypeBound).getGenericParamList() = list
}
query predicate new_where_pred_for_binders(Element id, NewElement binder) {
binder = Fresh::map(TWherePredForBinder(id, _))
}
// we need to add a ForBinder to ForType if it's not in a TypeBound
query predicate new_for_type_repr_for_binders(Element id, NewElement binder) {
binder = Fresh::map(TForTypeForBinder(id, _))
}
// we attach a ForTypeInTypeBound id as a ForBinder one to its TypeBound
query predicate new_type_bound_for_binders(Element id, NewElement binder) {
id = binder.(ForTypeInTypeBound).getBound()
}
// we restrict ForTypes to just the ones that are not in a TypeBound
query predicate new_for_type_reprs(Element id) {
for_type_reprs(id) and not id instanceof ForTypeInTypeBound
}
// for a TypeBound around a ForType, we need to move type_repr from one directly to the other
query predicate new_type_bound_type_reprs(Element bound, Element type) {
exists(Element originalType |
type_bound_type_reprs(bound, originalType) and
if for_type_reprs(originalType)
then for_type_repr_type_reprs(originalType, type)
else type = originalType
)
}
// for newly addded ForBinders, use same location as their generic param list
query predicate new_locatable_locations(NewElement id, Location location) {
locatable_locations(id, location)
or
locatable_locations(id.newGenericParamList(), location)
}

View File

@@ -42,7 +42,7 @@ FieldExpr/gen_field_expr.rs 9a70500d592e0a071b03d974a55558b3bc0df531ff11bce5898f
FnPtrTypeRepr/gen_fn_ptr_type_repr.rs c154ec0cc43236d133f6b946374f3063b89e5cbf9e96d9ee66877be4f948888e c154ec0cc43236d133f6b946374f3063b89e5cbf9e96d9ee66877be4f948888e
ForBinder/gen_for_binder.rs e3c9e5ffd3f2a5a546af9ab6e2a2ed733baf9cf609e05850b70feb31478a0bae e3c9e5ffd3f2a5a546af9ab6e2a2ed733baf9cf609e05850b70feb31478a0bae
ForExpr/gen_for_expr.rs 003dc36e3dc4db6e3a4accd410c316f14334ba5b3d5d675c851a91dcd5185122 003dc36e3dc4db6e3a4accd410c316f14334ba5b3d5d675c851a91dcd5185122
ForTypeRepr/gen_for_type_repr.rs 86f2f11f399d8072add3d3109a186d82d95d141660b18986bce738b7e9ec81a2 86f2f11f399d8072add3d3109a186d82d95d141660b18986bce738b7e9ec81a2
ForTypeRepr/gen_for_type_repr.rs d6dc10cdb4f505447805d24e83a24f876f2b6e6d8cdb193e786405f3ffbc7cda d6dc10cdb4f505447805d24e83a24f876f2b6e6d8cdb193e786405f3ffbc7cda
FormatArgsExpr/gen_format.rs e9d8e7b98d0050ad6053c2459cb21faab00078e74245336a5962438336f76d33 e9d8e7b98d0050ad6053c2459cb21faab00078e74245336a5962438336f76d33
FormatArgsExpr/gen_format_args_arg.rs 53ffd6abe4cd899c57d1973b31df0edc1d5eaa5835b19172ec4cda15bb3db28f 53ffd6abe4cd899c57d1973b31df0edc1d5eaa5835b19172ec4cda15bb3db28f
FormatArgsExpr/gen_format_args_expr.rs 72c806ed163e9dcce2d0c5c8664d409b2aa635c1022c91959f9e8ae084f05bf2 72c806ed163e9dcce2d0c5c8664d409b2aa635c1022c91959f9e8ae084f05bf2
@@ -136,7 +136,7 @@ TupleStructPat/gen_tuple_struct_pat.rs 601ca8813272d15b4c8fd7402d0d28a42a62be828
TupleTypeRepr/gen_tuple_type_repr.rs 64873a6a1cd5df6cd10165d7e9fa0399902b6bfbac086ef3a7ce83237b816879 64873a6a1cd5df6cd10165d7e9fa0399902b6bfbac086ef3a7ce83237b816879
TypeAlias/gen_type_alias.rs da2b959f1a2a4f5471c231025404ca82a1bc79ac68adcda5a67292c428ad6143 da2b959f1a2a4f5471c231025404ca82a1bc79ac68adcda5a67292c428ad6143
TypeArg/gen_type_arg.rs a0e455d7173b51330db63f1b7ac9c5d4263d33b3a115f97a8167d4dcc42469ff a0e455d7173b51330db63f1b7ac9c5d4263d33b3a115f97a8167d4dcc42469ff
TypeBound/gen_type_bound.rs 7487ae3fd7c3a481efe96ce7894fc974b96276ecd78e0ccb141c698b5c6f5eaa 7487ae3fd7c3a481efe96ce7894fc974b96276ecd78e0ccb141c698b5c6f5eaa
TypeBound/gen_type_bound.rs f7ed1dcfde0b9cae65580a990be6dc122be3e02f5771dd0f8f75b306bda1b29a f7ed1dcfde0b9cae65580a990be6dc122be3e02f5771dd0f8f75b306bda1b29a
TypeBoundList/gen_type_bound_list.rs f61e80667385f6e8f51452a401d355b8939dbb1e1a7d3a506023639cb387bfbd f61e80667385f6e8f51452a401d355b8939dbb1e1a7d3a506023639cb387bfbd
TypeParam/gen_type_param.rs 00b92ac7042ae83be1e37cd22f6d02098ca3157dc1ef45fbdf3b5f252ea6a8de 00b92ac7042ae83be1e37cd22f6d02098ca3157dc1ef45fbdf3b5f252ea6a8de
UnderscoreExpr/gen_underscore_expr.rs fe34e99d322bf86c0f5509c9b5fd6e1e8abbdf63dbe7e01687344a41e9aabe52 fe34e99d322bf86c0f5509c9b5fd6e1e8abbdf63dbe7e01687344a41e9aabe52
@@ -149,7 +149,7 @@ Variant/gen_variant.rs fa3d3a9e3e0c3aa565b965fad9c3dc2ffd5a8d82963e3a55a9acbb0f1
VariantList/gen_variant_list.rs a1faa4d59b072f139d14cb8a6d63a0ce8c473170d6320a07ce6bb9d517f8486d a1faa4d59b072f139d14cb8a6d63a0ce8c473170d6320a07ce6bb9d517f8486d
Visibility/gen_visibility.rs cfa4b05fa7ba7c4ffa8f9c880b13792735e4f7e92a648f43110e914075e97a52 cfa4b05fa7ba7c4ffa8f9c880b13792735e4f7e92a648f43110e914075e97a52
WhereClause/gen_where_clause.rs 22522c933be47f8f7f9d0caddfa41925c08df343c564baad2fe2daa14f1bfb1a 22522c933be47f8f7f9d0caddfa41925c08df343c564baad2fe2daa14f1bfb1a
WherePred/gen_where_pred.rs dbc7bf0f246a04b42783f910c6f09841393f0e0a78f0a584891a99d0cf461619 dbc7bf0f246a04b42783f910c6f09841393f0e0a78f0a584891a99d0cf461619
WherePred/gen_where_pred.rs 7036e34f1a1f77c5cf031f385be4583472ea4f99e8b4b4ec3c72a65c23e418bb 7036e34f1a1f77c5cf031f385be4583472ea4f99e8b4b4ec3c72a65c23e418bb
WhileExpr/gen_while_expr.rs 97276c5946a36001638491c99a36170d22bc6011c5e59f621b37c7a2d7737879 97276c5946a36001638491c99a36170d22bc6011c5e59f621b37c7a2d7737879
WildcardPat/gen_wildcard_pat.rs f1b175eeb3a0fc32bbcfb70a207be33dfde51a7d5198f72b8e08948f0d43e3dc f1b175eeb3a0fc32bbcfb70a207be33dfde51a7d5198f72b8e08948f0d43e3dc
YeetExpr/gen_yeet_expr.rs c243b785a2cbd941bcec23dafc23ffbc64b93cf2843b6ede9783cdb81fed439d c243b785a2cbd941bcec23dafc23ffbc64b93cf2843b6ede9783cdb81fed439d

View File

@@ -1,4 +1,4 @@
instances
| gen_for_binder.rs:7:21:7:43 | ForBinder |
| gen_for_binder.rs:7:21:7:43 | for<...> |
getGenericParamList
| gen_for_binder.rs:7:21:7:43 | ForBinder | gen_for_binder.rs:7:24:7:43 | <...> |
| gen_for_binder.rs:7:21:7:43 | for<...> | gen_for_binder.rs:7:24:7:43 | <...> |

View File

@@ -1,3 +1,6 @@
instances
| gen_for_type_repr.rs:8:19:8:31 | ForTypeRepr |
getForBinder
| gen_for_type_repr.rs:8:19:8:31 | ForTypeRepr | gen_for_type_repr.rs:8:19:8:25 | for<...> |
getTypeRepr
| gen_for_type_repr.rs:8:19:8:31 | ForTypeRepr | gen_for_type_repr.rs:8:27:8:31 | usize |

View File

@@ -1,14 +1,10 @@
// generated by codegen, do not edit
fn test_for_type_repr() -> () {
// A higher-ranked trait bound.
// A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
// only be applied to traits to form a `TypeBound`).
//
// For example:
fn foo<T>(value: T)
where
T: for<'a> Fn(&'a str) -> &'a str
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
// ...
}
fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
// ^^^^^^^^^^^^^
}

View File

@@ -1,7 +1,10 @@
instances
| gen_type_bound.rs:7:15:7:19 | TypeBound | isAsync: | no | isConst: | no |
| gen_type_bound.rs:9:24:9:44 | TypeBound | isAsync: | no | isConst: | no |
getForBinder
| gen_type_bound.rs:9:24:9:44 | TypeBound | gen_type_bound.rs:9:24:9:30 | for<...> |
getLifetime
getTypeRepr
| gen_type_bound.rs:7:15:7:19 | TypeBound | gen_type_bound.rs:7:15:7:19 | Debug |
| gen_type_bound.rs:9:24:9:44 | TypeBound | gen_type_bound.rs:9:32:9:44 | From::<...> |
getUseBoundGenericArgs

View File

@@ -6,4 +6,6 @@ fn test_type_bound() -> () {
// For example:
fn foo<T: Debug>(t: T) {}
// ^^^^^
fn bar(value: impl for<'a> From<&'a str>) {}
// ^^^^^^^^^^^^^^^^^^^^^
}

View File

@@ -6,4 +6,6 @@ fn test_where_pred() -> () {
// For example:
fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
// ^^^^^^^^ ^^^^^^^^
fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
// ^^^^^^^^^^^^^^^^^^^^^^^^
}

View File

@@ -1158,21 +1158,16 @@ class _:
@annotate(ForTypeRepr)
class _:
"""
A higher-ranked trait bound.
A type with a higher-ranked `for` modifier. This is currently not valid Rust syntax (`for<...>` can
only be applied to traits to form a `TypeBound`).
For example:
```rust
fn foo<T>(value: T)
where
T: for<'a> Fn(&'a str) -> &'a str
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
{
// ...
}
fn foo(value: for<'a> usize) {} // DOESN'T COMPILE
// ^^^^^^^^^^^^^
```
"""
@annotate(FormatArgsArg, cfg=True)
@qltest.test_with(FormatArgsExpr)
class _:
@@ -1987,6 +1982,8 @@ class _:
```rust
fn foo<T: Debug>(t: T) {}
// ^^^^^
fn bar(value: impl for<'a> From<&'a str>) {}
// ^^^^^^^^^^^^^^^^^^^^^
```
"""
@@ -2126,6 +2123,8 @@ class _:
```rust
fn foo<T, U>(t: T, u: U) where T: Debug, U: Clone {}
// ^^^^^^^^ ^^^^^^^^
fn bar<T>(value: T) where for<'a> T: From<&'a str> {}
// ^^^^^^^^^^^^^^^^^^^^^^^^
```
"""