diff --git a/misc/codegen/generators/qlgen.py b/misc/codegen/generators/qlgen.py
index 36a490f897a3e..a6c7c0713ccb9 100755
--- a/misc/codegen/generators/qlgen.py
+++ b/misc/codegen/generators/qlgen.py
@@ -163,7 +163,9 @@ def get_ql_class(cls: schema.Class, lookup: typing.Dict[str, schema.Class]) -> q
properties.append(prop)
return ql.Class(
name=cls.name,
- bases=cls.bases,
+ bases=[c for c in cls.bases],
+ # bases2=[base + "_Gen::" + base + "Impl" for base in cls.bases],
+ bases2=[base + "Impl" for base in cls.bases],
final=not cls.derived,
properties=properties,
dir=pathlib.Path(cls.group or ""),
@@ -207,18 +209,23 @@ def get_ql_synth_class(cls: schema.Class):
def get_import(file: pathlib.Path, root_dir: pathlib.Path):
stem = file.relative_to(root_dir / "ql/lib").with_suffix("")
- return str(stem).replace("/", ".")
+ res = str(stem).replace("/", ".")
+ # if ".elements." in res:
+ # return res.replace("elements","generated") + "::Generated"
+ return res
def get_types_used_by(cls: ql.Class) -> typing.Iterable[str]:
for b in cls.bases:
- yield b.base
+ yield b.base + "Impl"
for p in cls.properties:
yield p.type
+ if cls.root:
+ yield cls.name # used in `getResolveStep` and `resolve`
def get_classes_used_by(cls: ql.Class) -> typing.List[str]:
- return sorted(set(t for t in get_types_used_by(cls) if t[0].isupper() and t != cls.name))
+ return sorted(set(t for t in get_types_used_by(cls) if t[0].isupper()))
def format(codeql, files):
@@ -236,6 +243,10 @@ def format(codeql, files):
def _get_path(cls: schema.Class) -> pathlib.Path:
+ return pathlib.Path(cls.group or "", cls.name+"Impl").with_suffix(".qll")
+
+
+def _get_path2(cls: schema.Class) -> pathlib.Path:
return pathlib.Path(cls.group or "", cls.name).with_suffix(".qll")
@@ -315,7 +326,11 @@ def _get_stub(cls: schema.Class, base_import: str, generated_import_prefix: str)
else:
accessors = []
return ql.Stub(name=cls.name, base_import=base_import, import_prefix=generated_import_prefix,
- doc=cls.doc, synth_accessors=accessors,
+ doc=cls.doc, synth_accessors=accessors)
+
+def _get_stub2(cls: schema.Class, base_import: str, generated_import_prefix: str) -> ql.StubFinal:
+ return ql.StubFinal(name=cls.name, base_import=base_import, import_prefix=generated_import_prefix,
+ doc=cls.doc,
internal="ql_internal" in cls.pragmas)
@@ -370,6 +385,7 @@ def generate(opts, renderer):
raise RootElementHasChildren(root)
imports = {}
+ imports_impl = {}
generated_import_prefix = get_import(out, opts.root_dir)
registry = opts.generated_registry or pathlib.Path(
os.path.commonpath((out, stub_out, test_out)), ".generated.list")
@@ -382,24 +398,33 @@ def generate(opts, renderer):
classes_by_dir_and_name = sorted(classes.values(), key=lambda cls: (cls.dir, cls.name))
for c in classes_by_dir_and_name:
- imports[c.name] = get_import(stub_out / c.path, opts.root_dir)
+ path = get_import(stub_out / c.path, opts.root_dir)
+ imports[c.name] = path
+ imports_impl[c.name + "Impl"] = path + "Impl"
for c in classes.values():
qll = out / c.path.with_suffix(".qll")
- c.imports = [imports[t] for t in get_classes_used_by(c)]
+ c.imports = [
+ imports[t] if t in imports else imports_impl[t] for t in get_classes_used_by(c)
+ ]
c.import_prefix = generated_import_prefix
renderer.render(c, qll)
for c in data.classes.values():
path = _get_path(c)
+ path2 = _get_path2(c)
stub_file = stub_out / path
- base_import = get_import(out / path, opts.root_dir)
+ base_import = get_import(out / path2, opts.root_dir)
stub = _get_stub(c, base_import, generated_import_prefix)
+
if not renderer.is_customized_stub(stub_file):
renderer.render(stub, stub_file)
else:
qldoc = renderer.render_str(stub, template='ql_stub_class_qldoc')
_patch_class_qldoc(c.name, qldoc, stub_file)
+ stub2 = _get_stub2(c, base_import, generated_import_prefix)
+ stub_file2 = stub_out / path2
+ renderer.render(stub2, stub_file2)
# for example path/to/elements -> path/to/elements.qll
renderer.render(ql.ImportList([i for name, i in imports.items() if not classes[name].internal]),
diff --git a/misc/codegen/lib/ql.py b/misc/codegen/lib/ql.py
index a2762d6f49899..761fd910e239b 100644
--- a/misc/codegen/lib/ql.py
+++ b/misc/codegen/lib/ql.py
@@ -101,6 +101,7 @@ class Class:
name: str
bases: List[Base] = field(default_factory=list)
+ bases2: List[Base] = field(default_factory=list)
final: bool = False
properties: List[Property] = field(default_factory=list)
dir: pathlib.Path = pathlib.Path()
@@ -115,6 +116,7 @@ class Class:
def __post_init__(self):
self.bases = [Base(str(b), str(prev)) for b, prev in zip(self.bases, itertools.chain([""], self.bases))]
+ self.bases2 = [Base(str(b), str(prev)) for b, prev in zip(self.bases2, itertools.chain([""], self.bases2))]
if self.properties:
self.properties[0].first = True
@@ -159,13 +161,26 @@ class Stub:
base_import: str
import_prefix: str
synth_accessors: List[SynthUnderlyingAccessor] = field(default_factory=list)
- internal: bool = False
doc: List[str] = field(default_factory=list)
@property
def has_synth_accessors(self) -> bool:
return bool(self.synth_accessors)
+ @property
+ def has_qldoc(self) -> bool:
+ return bool(self.doc)
+
+@dataclass
+class StubFinal:
+ template: ClassVar = 'ql_stub_final'
+
+ name: str
+ base_import: str
+ import_prefix: str
+ internal: bool = False
+ doc: List[str] = field(default_factory=list)
+
@property
def has_qldoc(self) -> bool:
return bool(self.doc) or self.internal
diff --git a/misc/codegen/templates/dbscheme.mustache b/misc/codegen/templates/dbscheme.mustache
index de16e837b51cf..22f9e562f407c 100644
--- a/misc/codegen/templates/dbscheme.mustache
+++ b/misc/codegen/templates/dbscheme.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
{{#includes}}
// from {{src}}
diff --git a/misc/codegen/templates/ql_class.mustache b/misc/codegen/templates/ql_class.mustache
index 100d5ebe939c0..acf8afa26d826 100644
--- a/misc/codegen/templates/ql_class.mustache
+++ b/misc/codegen/templates/ql_class.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
/**
* This module provides the generated definition of `{{name}}`.
* INTERNAL: Do not import directly.
@@ -19,10 +19,10 @@ module Generated {
{{#doc}}
* {{.}}
{{/doc}}
- * INTERNAL: Do not reference the `Generated::{{name}}` class directly.
+ * INTERNAL: Do not reference the `Generated::{{name}}Impl` class directly.
* Use the subclass `{{name}}`, where the following predicates are available.
*/
- class {{name}} extends Synth::T{{name}}{{#bases}}, {{.}}{{/bases}} {
+ class {{name}}Impl extends Synth::T{{name}}{{#bases2}}, {{.}}{{/bases2}} {
{{#root}}
/**
* Gets the string representation of this element.
diff --git a/misc/codegen/templates/ql_imports.mustache b/misc/codegen/templates/ql_imports.mustache
index 18799347ba37e..a3aee3277e181 100644
--- a/misc/codegen/templates/ql_imports.mustache
+++ b/misc/codegen/templates/ql_imports.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
/**
* This module exports all modules providing `Element` subclasses.
*/
diff --git a/misc/codegen/templates/ql_parent.mustache b/misc/codegen/templates/ql_parent.mustache
index 0741562b99c68..b4e73e3699e8c 100644
--- a/misc/codegen/templates/ql_parent.mustache
+++ b/misc/codegen/templates/ql_parent.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
/**
* This module provides the generated parent/child relationship.
*/
diff --git a/misc/codegen/templates/ql_stub.mustache b/misc/codegen/templates/ql_stub.mustache
index 0ff754a60a7bf..580ec4b2e51c7 100644
--- a/misc/codegen/templates/ql_stub.mustache
+++ b/misc/codegen/templates/ql_stub.mustache
@@ -7,7 +7,7 @@ private import {{import_prefix}}.Synth
{{/has_synth_accessors}}
{{>ql_stub_class_qldoc}}
-class {{name}} extends Generated::{{name}} {
+class {{name}}Impl extends Generated::{{name}}Impl {
{{#synth_accessors}}
private
cached {{type}} getUnderlying{{argument}}() { this = Synth::T{{name}}({{#constructorparams}}{{^first}},{{/first}}{{param}}{{/constructorparams}})}
diff --git a/misc/codegen/templates/ql_stub_module_qldoc.mustache b/misc/codegen/templates/ql_stub_module_qldoc.mustache
index 2dc821c17f083..c330dc300adbb 100644
--- a/misc/codegen/templates/ql_stub_module_qldoc.mustache
+++ b/misc/codegen/templates/ql_stub_module_qldoc.mustache
@@ -1,6 +1,5 @@
/**
* This module provides a hand-modifiable wrapper around the generated class `{{name}}`.
-{{#internal}}
+ *
* INTERNAL: Do not use.
-{{/internal}}
*/
diff --git a/misc/codegen/templates/ql_test_class.mustache b/misc/codegen/templates/ql_test_class.mustache
index d689753cfd319..63c5e24050c4e 100644
--- a/misc/codegen/templates/ql_test_class.mustache
+++ b/misc/codegen/templates/ql_test_class.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
import {{elements_module}}
import TestUtils
diff --git a/misc/codegen/templates/ql_test_missing.mustache b/misc/codegen/templates/ql_test_missing.mustache
index 5a714744ef235..583d2e46b2cdd 100644
--- a/misc/codegen/templates/ql_test_missing.mustache
+++ b/misc/codegen/templates/ql_test_missing.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
After a source file is added in this directory and {{generator}} is run again, test queries
will appear and this file will be deleted
diff --git a/misc/codegen/templates/ql_test_property.mustache b/misc/codegen/templates/ql_test_property.mustache
index a0ba0a52d694c..2c293d7bcaba0 100644
--- a/misc/codegen/templates/ql_test_property.mustache
+++ b/misc/codegen/templates/ql_test_property.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
import {{elements_module}}
import TestUtils
diff --git a/misc/codegen/templates/rust_classes.mustache b/misc/codegen/templates/rust_classes.mustache
index 3b415683d5f31..8c2bd4d38e165 100644
--- a/misc/codegen/templates/rust_classes.mustache
+++ b/misc/codegen/templates/rust_classes.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
#![cfg_attr(any(), rustfmt::skip)]
diff --git a/misc/codegen/templates/rust_module.mustache b/misc/codegen/templates/rust_module.mustache
index bc7fb3158c6d8..f9e066e15b35e 100644
--- a/misc/codegen/templates/rust_module.mustache
+++ b/misc/codegen/templates/rust_module.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
{{#modules}}
mod {{.}};
diff --git a/misc/codegen/templates/rust_test_code.mustache b/misc/codegen/templates/rust_test_code.mustache
index d38da6a353bb4..2f70362e31ed6 100644
--- a/misc/codegen/templates/rust_test_code.mustache
+++ b/misc/codegen/templates/rust_test_code.mustache
@@ -1,4 +1,4 @@
-// generated by {{generator}}
+// generated by {{generator}}, do not edit
{{#function}}
fn {{name}}{{signature}} {
diff --git a/rust/codegen.conf b/rust/codegen.conf
index cce7a27fe9164..d971038662bac 100644
--- a/rust/codegen.conf
+++ b/rust/codegen.conf
@@ -1,4 +1,4 @@
-# configuration file for Swift code generation default options
+# configuration file for Rust code generation default options
--generate=dbscheme,rusttest,ql,rust
--dbscheme=ql/lib/rust.dbscheme
--ql-output=ql/lib/codeql/rust/generated
diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list
index e97b3eb02c8d3..1a70b016e37ba 100644
--- a/rust/extractor/src/generated/.generated.list
+++ b/rust/extractor/src/generated/.generated.list
@@ -1,2 +1,2 @@
-mod.rs 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e 7cdfedcd68cf8e41134daf810c1af78624082b0c3e8be6570339b1a69a5d457e
-top.rs 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f 569909061b9a993481764765a014327d143939778f2dbc79836e7496cdb83e1f
+mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7
+top.rs 4e72d211727835cb3661af2aeb0067e8f2dfb0b922c7cfdb5151935a670d6c38 4e72d211727835cb3661af2aeb0067e8f2dfb0b922c7cfdb5151935a670d6c38
diff --git a/rust/extractor/src/generated/mod.rs b/rust/extractor/src/generated/mod.rs
index 1d605f8a0b0be..0f95afeeff202 100644
--- a/rust/extractor/src/generated/mod.rs
+++ b/rust/extractor/src/generated/mod.rs
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
mod top;
pub use top::*;
diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs
index 48ca548386be9..3234d0dd3494e 100644
--- a/rust/extractor/src/generated/top.rs
+++ b/rust/extractor/src/generated/top.rs
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
#![cfg_attr(any(), rustfmt::skip)]
diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list
index 5c21f4e905104..43dd120a73157 100644
--- a/rust/ql/.generated.list
+++ b/rust/ql/.generated.list
@@ -1,223 +1,299 @@
-lib/codeql/rust/elements/ArrayExpr.qll aa558ac94bb7c45145e4788ed1a92e2873c5f57f1a0c7b7faf341f40027cf455 874da62a3d6467af7ae11045229135f8f5229cff33f3edae5b01a5b9afe86dd7
-lib/codeql/rust/elements/AstNode.qll 2069047c779514867c12d845dcdf889db6f27fa6a9e484966a3c28a77973b7d4 e214616c81418b0018c0d36896ac2ec7273634e3213bc8257d8b172f396c00ee
-lib/codeql/rust/elements/AsyncBlockExpr.qll ce6484a28403bc36e261ae6931b02a15db6fc54cc0c1bfc441e33d7284f6c74a e5b3c00f74543a6ceeaef053aaa1f00006026b8242efbeb7e1e9633e68cc4844
+lib/codeql/rust/elements/ArrayExpr.qll 2bde4457cf32327839f781602872991fab1e59a5469716b4878a25b8e0a5fe86 be73c952a40af2a23bea79a7907514ab8269ac106d01076288e41e811a187098
+lib/codeql/rust/elements/ArrayExprImpl.qll ee63c3d22eb93c784a6d41a266f33e0a76a06109ebb3ca9a099a8eed670da8c3 abf66c130f595a104e1edfed54eca8e5386e7201d1a5605ffba7f50becacc264
+lib/codeql/rust/elements/AstNode.qll 91bb849d814af3412eaf26af4fd89b41c2deb0294c70006b1b8e082e884ca1f2 3f67176b4ee1c7ab5887e1bef16e82b61bb9c15a5f15790ec516db8561883713
+lib/codeql/rust/elements/AstNodeImpl.qll 30aaa5bedc4e0408fbb9d78a9954f9f830af170dd2e5ec27ac77695965446771 3fb150b47764387744f944685b0d2f66a3ec3d6cf0f54fc4ada1465e13df747e
+lib/codeql/rust/elements/AsyncBlockExpr.qll 801fdc3720553e3bc9a3d4fbf3732e7e89c581b5589b01df6ecc3d6a2d7a3f5b 28ed78ed33d4db9fbda23cad3c294317ab0cc269369deb4ce37d3eafccba87f3
lib/codeql/rust/elements/AsyncBlockExprConstructor.qll 2d7d22caca1984e850d723f9ddd581530734bf4c31c545ea598bc27144a32f1b bf2ff9edff95db8400017b7583d6881581c431755c70e0068a495787993010f9
-lib/codeql/rust/elements/AwaitExpr.qll 310cf2cf155bc472caed76f596d7f789e9fa19c24d73dc0235d601ff9f32de40 d4b53d79a12d4378eebe2211b37b0f819177620b86a3eabfbec4096adfd200c4
+lib/codeql/rust/elements/AsyncBlockExprImpl.qll c706069eed059f21bf2087aeb2369f9e05c56d8ef65e6c5715f29b80015bf8d0 dc17b3e4c137ba20f3cbe606ae772ac04696873ef67cd065e5fd95c1ac3afb15
+lib/codeql/rust/elements/AwaitExpr.qll 4bfb0c01e94d4741ff1c56bb74ba41e585094b991c48f02f8cce64c77c92f4b9 20f8d067152c96d2553bbb5fef6ca7538cdbbe38d17862bd8d4bf70a3830fd4c
lib/codeql/rust/elements/AwaitExprConstructor.qll af0dfdf36b300d412a7b8668f68e6594fe3338216cdf1aa420c9a58608aa86f5 cfa115902ccf070e34ee451bc2f89295c97e8418501359a8cdc646d16c4cc7cd
-lib/codeql/rust/elements/BecomeExpr.qll 91e08545258ff3bed8b63cb0e719f71f04cf21af758688cdb39d4be56d104db7 ba381c94e998c2fa275ab84f1e785cfb6af5ab40ad690e6b429eb72897837ac4
+lib/codeql/rust/elements/AwaitExprImpl.qll e9246b7a1a90b85ce7810b02ec3442023a56ba77974846c2b644fe16648578e3 e348e5798a426039b9485c8c061f6f3b8e26db6cdfde2903746cf459dc04ea0e
+lib/codeql/rust/elements/BecomeExpr.qll 917335cf0e09d05e07cc2bf6dab1b8c7f1b5eb30fbe89e25f0602ef2d4fa4001 cdd764ff99e7330703dde379f5dd866916854089846f883b254cafdb773efe18
lib/codeql/rust/elements/BecomeExprConstructor.qll 0c206e657417066415850672a804a69e5fccc605c309bb8755737ae01e332f18 e70bd0c411ffc23c37b22a459455c95ff75a72fa2d179f751bff99866eeef2bc
-lib/codeql/rust/elements/BinaryOpExpr.qll d85404c249175283d7ac7daada3951f47b19ef56b08749906c8bd3895959db9f 9e1d35061bab3517c716e3d0fe42654568e16b6577d6d26861b87576839a33be
+lib/codeql/rust/elements/BecomeExprImpl.qll 32d28978be3933ab831bf289f7455e766edfcee440717579d394ca3824c029d8 adea9ca7705df456624440ee70e61555567b75425b633e1319bbd4081507f484
+lib/codeql/rust/elements/BinaryOpExpr.qll 37f3563e0c47d787825af1e1e847443af2ee8a0c4a6774843d4cd21236b319e4 80a20877eb21aaaf74e29c80f501c5f2a14453cb4818d86ff1901c8236bd80dc
lib/codeql/rust/elements/BinaryOpExprConstructor.qll efa89c084def020961641772f4829fc54bf718817831d4752b9bf403ce0e61dd d7937326ba08410fc3ba37e44b76530804f492177ef5e62dd416094e1e2f9bd6
-lib/codeql/rust/elements/BindPat.qll f0209f781d8a14ab7fbb4b4d6a654469aecb0ff1a8ff4810f18a90f3b171e1c3 9734b7907855e46eeded6c3f59912a16212f7e8639fba35c740bb04462240287
+lib/codeql/rust/elements/BinaryOpExprImpl.qll 61f20d47a626c44279f5795b1959709cd2e6265f9084d22313bc7a479b52ce1d a2720844e0bf391cbc0ed188ae8ab3d9156e2a359bab5414e5b38ecdc10d9374
+lib/codeql/rust/elements/BindPat.qll c302917c1242e016f978cee6a9cb834c0bff63be76a40ccda320aa7123ee0aa0 9c4b064a9e841f2327fe581c4b1926fefdb5985b4f91aabd4e472b4f5d4e1b92
lib/codeql/rust/elements/BindPatConstructor.qll 2bbcc296bcdcd945313d83294b90d327c51c9f1e96f92d37dd10bf0c32dfaf6a 612b4fc651f32129155727e866796edee8fff939614c6fd0b7baa1392930a38c
-lib/codeql/rust/elements/BlockExpr.qll cd7a978d3ad15156467ee213d65ef0dcc806af43888d1de4635e875b2d76f5fb b0286039d03f2f554ab5c31b902386357e19127d35f70211b1373d591053ed8f
-lib/codeql/rust/elements/BlockExprBase.qll 1b24ea5fd43dce0e240e1d7740a062228c19e8c704f6ce26503ddbd65c6f5282 d2e05a51d3840caf4de4cca6cdab9551f396df317c8ad1da661205aa822646cc
+lib/codeql/rust/elements/BindPatImpl.qll 9c6b65ec52aec0fe416bbcb3672300bf7b30ce6747e35e4ddd64d35d0d3b223c 05ca1c941b8fb0cb9fe370e7ede610a0eb05d686e7d3e4b0baf70257de493ed8
+lib/codeql/rust/elements/BlockExpr.qll 7cae7cc08637fb90744d47753a5b0578fe09443aea11e4dd9f2ecf2cf6685a66 2a7fb358443aebbe4ec44e7dac6ab95999c52aac68ec0265a56b879541e67be7
+lib/codeql/rust/elements/BlockExprBase.qll 091025dfb9b9d310d4572c84efc9cf1b6ff3f411b85a6da36055cc780f724da0 e9d4728d5c709f0fce50430455239c87f3c57628506a9ae93b5a9dde99cc0afd
+lib/codeql/rust/elements/BlockExprBaseImpl.qll a5ea5a1401d25040c31ca0783deb52e253a2b442a40c32a3875e270921cfc87a 289d8fd77c5656ab8f1716e55357cc5bc18c04f526c3c101b339da4d457be011
lib/codeql/rust/elements/BlockExprConstructor.qll 7fc9214582f0e6e8b4db06f7c6ac3712dc260abc12ff65f3e93bec5f210b0098 13bc676b67ed14b326e4bdaaa43b497ce486dc2c3145a76a25fe960c82a6ba54
-lib/codeql/rust/elements/BoxExpr.qll 02e6f063c8e2aa01b12eb3223783e8d88330f4faadd71fef253b5dd39af8b556 bda6357d99430b524de82be0da444cc180dde9ba1f3e08c1bd4c53143789fcf0
+lib/codeql/rust/elements/BlockExprImpl.qll a751a892b6b37fd7b6703f2de142de6bf0e37b1079e87d6d51cac127b79f0a3e 883cabfb008d22dc9aac97d41df9feace020db228a21f2e74288517145da5734
+lib/codeql/rust/elements/BoxExpr.qll 5f6bc933353f45a74a47917e1239abe419bc5c40ac5ae8c33786fd5c07c6ce90 85a212cb8ad275e5ee31ac64dbf27071501cf9898f70990101201d3350e6f6d7
lib/codeql/rust/elements/BoxExprConstructor.qll e30e71b88978b5d0f156152acaf7eaebe26232b7a5a562cf22f1bb9659ae5deb 3ca41494c5101ef73877737420fbc468483ac7ef215d11b431dac2dd6a08ecc5
-lib/codeql/rust/elements/BoxPat.qll 1df08d5443c63e21d40d25023da58da50bd6cf6e156b9f5dbd6d41a3193faee9 9837752be4d4a1c3f16d6438bd361c596b6b983d9ae4e486083651e8f4e090ff
+lib/codeql/rust/elements/BoxExprImpl.qll 2b7be02532183d6ed589e9ac6f2796ace7501b93ce5a19288ecbe0a85c7748ff 90d5444a5e1f0ec5e325037bbd4f8a53e4adad8321c695e7c1cb461752e966d6
+lib/codeql/rust/elements/BoxPat.qll 871333cd11f24d0bdcbc9afbd78ac3ccfe813914bbafb970d33100a659120a65 2ec521bfc3debb24bf9e08244ecaefc4976f54753308db9c04c6d5d6e6e47c34
lib/codeql/rust/elements/BoxPatConstructor.qll 20f79f18beb8b7eeec63b1e30302d9f2e514354a7b1ae077f240db3cda4ecc4c f41ca3fdafc70c6b972598a3af3434bf60687bc2f0252dd11ddd09ec874fe63c
-lib/codeql/rust/elements/BreakExpr.qll b760b1f9ba612aa29c917a25d75143e90bbdb607d12ea4a49067ab44595292c1 ee0bf075f2b237c1513cdd03dd35666d4c9158dbf1216a30c5aec05db9e6d317
+lib/codeql/rust/elements/BoxPatImpl.qll 4f2f6dcac5071efb892519b30cc205c8e155d3feb41404bcc3c0615275508f9a 3a3cf716a8524d2f06c3058fb52c61721078fe01c2579f1ca42fca72b877cda2
+lib/codeql/rust/elements/BreakExpr.qll 3ab1201e1feb8d24c7037af6579784e394e523f659efdd52436ac57dafb69a75 9b2ce42eacdb14288299f819fe27835128720db529ba19ce71325615cf937a9b
lib/codeql/rust/elements/BreakExprConstructor.qll 48b71a034b7b6b0ecda47c72379696c6d4ebb9eadcd6403f9c001945855c5365 fbbccb6d1718393ad6ff3a2bd473dd51691c871db9181cb1e041b318f91d27a7
-lib/codeql/rust/elements/CallExpr.qll 7b76acfa945d7cc04bab4012fc8476f8e4f9970b7051ea02fe5b12ec57927897 57ebf163cd6db203f5dd05d629f68bc4e39666ebc4d1252ba1e09b88ffbe60ef
+lib/codeql/rust/elements/BreakExprImpl.qll 4c8ae8b37b893ab757d62b23b1b322714a9f47d083cd4c5a95d51df77e8e3408 6a298bb4cb5d330a2bfb7b33e9932040e7a3420b1f7293f3575f2debf2f844ec
+lib/codeql/rust/elements/CallExpr.qll a812052d82419c843712a0870bdf341968acb3fc6bb9716a04dd89d868ab513e 98c7d6b90ec55013253b70a356b18f76d43b3dcf5dfced4342e17b637792eeac
lib/codeql/rust/elements/CallExprConstructor.qll 9a7e9e780ff6604ddf0b9e5f27bfa43b720bb341673c7740148561c666ccd066 945804ba7c1dbfb9f221810be9d2fc3dbee3ce89dd9d08b3f3e719d31701ed98
-lib/codeql/rust/elements/CastExpr.qll cdd74a040d6b1aa44f6e2bdb2991e642f013848f32a17588291317a7abf38961 06f3228ac826fc452d75505345707b912426f05db78380a72f0ba586fa00c282
+lib/codeql/rust/elements/CallExprImpl.qll 80f4642aea234cb327f8a89573b941d0cef57fd3d0ca2538ee01071dac842b0f 0153e761e608a647823498d35232fcbca5d85f304af5dfcd36a05c327368fa42
+lib/codeql/rust/elements/CastExpr.qll df332c8777a83c824bfd6aab01227d1e6a70954ed0b783bc7885cf4cac7f0713 ecb3f2a94f772ec5c217ed9d4ea6ab5ca5b13de56539702f423915a56bdde01a
lib/codeql/rust/elements/CastExprConstructor.qll cab6e9a9872006cc811620bda522fafde23fc4edb5151af06a5a0938747dbdfb 6d972faff70166c4b07392a0bc90c6d72c9466b58b55e7651ef6c3d06cf72873
-lib/codeql/rust/elements/ClosureExpr.qll 2a8b0a94e37b8406acee038ae0737604174b3062f3c12ecea27a3104ded3b2bb 904eed60004ad20c0d03965f91e1d2227cccf3b13ce29341c79d545aabe492f0
+lib/codeql/rust/elements/CastExprImpl.qll 548af4d4af9f850178566930fa0182bcd4f74e570fef99a314beb33389e6df1c bc75a55dc91224336d525ef3791dcbb74161ab86ff3aff4a5246e0fdaf59d4f6
+lib/codeql/rust/elements/ClosureExpr.qll ebb401143d7d58cdf65ac1fdbb4885f43cc6e34e2225da186f62320abdcd0a05 edfd291564ef3701e4fa07ea9413096563222891e9b48fcaef1145cd4480e683
lib/codeql/rust/elements/ClosureExprConstructor.qll 238dceb78082a5566276640d4aa31484041700852c0751130d139a69ac8bde46 7aae22930def4d438d742255731cc59b78a95b73a0b1d6334ae9965e083e03bc
-lib/codeql/rust/elements/ConstBlockPat.qll af7f5f1a8de38266a12e92dee4a5ef5279baccf542cf2c52d982ed075d3bec27 1208223d97230a90d9377164b61454dcc6ca0f46a408e4a5ab2a82340bc92eb3
+lib/codeql/rust/elements/ClosureExprImpl.qll 322f382bd1587e6e332dd54283c09fec3c8f3381fa442b5609cc797472d9cfcc 05529d51e4303f703241fc7d2537e18b8b8ad51e15bd4acc7eb2f0021111742f
+lib/codeql/rust/elements/ConstBlockPat.qll 365557e465cd10c61dfef56ccd2e60d94cc3b1237866ce1d4cc137e3cbc92341 c92c71493fd541288f2945f8134b9ad076b6b051eeb4308e506f1045eb6b3b9a
lib/codeql/rust/elements/ConstBlockPatConstructor.qll 04aa8b4f218ce87157f0d6b10c9c04660c34c90af1f121b1432402de2e5114cd 34e2fecbe91ea9ac1626bc27121a7d5abe99855e3f49bdca12a1969b42ac0ba5
-lib/codeql/rust/elements/ConstExpr.qll df129a4a1f65c07076e15097571ffd12b91a63d3ded97bb3173b50a7f1279bb4 dd3b7a5230baf5d1a062d49324eeb6ee5a76f156944ec149da8bf46c982107b8
+lib/codeql/rust/elements/ConstBlockPatImpl.qll f7d0044737a849312f0618602ac51b82048b30e3cd94d909346bae49b948b90e 2857369e919b3b1197e76506ca3e5b633d8685098bafea4e4301df34630aa68e
+lib/codeql/rust/elements/ConstExpr.qll 4b9825c508c93f847a2e72bac89e88cc350640deaa97981ba9a60e8ee6d6c56f ba50dd2d20b699c1196002dcd314b800713e6a012346d1d562ec48d6866e1349
lib/codeql/rust/elements/ConstExprConstructor.qll b4c96adc2878047c36d7ceaba2346ef66a2269b5260a56c3d7ff6e3a332bad75 ce15bbfd1448e47d3039e912363efa607cc2c29d44b8248ac91c307af7b57016
-lib/codeql/rust/elements/ContinueExpr.qll 46635ab257d8cc8ab3ba4b6786df7a2ff4d2e6360578bebde8bec1d6ae90b8c7 a0c60fb018ced67e1d6eed1c493b2c6d729636f1325b556ed5bcbcff072cd8d7
+lib/codeql/rust/elements/ConstExprImpl.qll 8b5a7b94274b250a6d7c4b20fedee9999093f8246eb2eabeff052ce6b79c5bc6 bc8cbae96344f64d5870c007e4254de32809114cfa821944cb5501f7ba694921
+lib/codeql/rust/elements/ContinueExpr.qll a31166de80acab4014978520b7a53e2138bc24bc9ff7485520e805a92edaf427 03fc2b6dc1b13017d94798c5fa88e9452b1175496a2fcb4e45eb0722216a4de2
lib/codeql/rust/elements/ContinueExprConstructor.qll adc5c5b4fda5dc5102cdace41c32a6c94fe07a2e2555ced6ee62a2d2551b90a2 9dc5045b0d91a3a28cc1c0d59c6fd40620257a6c18ea8480792183c4d802fd8a
-lib/codeql/rust/elements/DbFile.qll 056d363e1ba5ec08cacb2e90b8a7a3b47f52ded5dc2289edd4e85921fc50f37e 18e6926f77265a3a6319ca2f3bf3d529d17d46cebdd2ef6753357fdc53c22c70
+lib/codeql/rust/elements/ContinueExprImpl.qll 0f12d2c908979699aa6eeeba0b1f9bdb14ecf149532b7c4ebc9296532c2e75d5 ef04f9832e4e96e2c0a3c4cea48b2dfa4fdb0123218b41df02ee11f0e334325c
+lib/codeql/rust/elements/DbFile.qll 566c7fce34febe25e5657cd2008a400dd7f49776d12690eecb905848acf21758 e0571e21ec45e2aee595dcddf9166230ce2191981c624d331dcd0a74b582cbc7
lib/codeql/rust/elements/DbFileConstructor.qll ea93dc49b23b1c6d800ab9d0b9cacfa9dc661bfdb04b9e6efcad2bdb050fb0ab f7a891b1786604eee57a784733555b677e2580770d51d18073b59e7ca65df1d4
-lib/codeql/rust/elements/DbLocation.qll 1f694594e8e4ab65a8781cd443ad4f864447ca88e2cb65504aee5a779393c84d 003ec72275406eb8f5ddd6ccc2b258fb7c906d4bb2c0ef1ba235f291624321ca
+lib/codeql/rust/elements/DbFileImpl.qll c7eb96c2c0ef82722ef0330afef553e4420b15dd22a0835340acddd1aa8db389 c5b30b7d44107ad5117d447193f60e03f9e74c18469233d05da48d2fa31f8dd9
+lib/codeql/rust/elements/DbLocation.qll 85f24297bbe96b31b9c3004d8cdf10d6960a31a7ac6de9f24b62cb62b0cb68a3 63ae1119d484bb1e589ead1afc9fae9dee0474b3dfb72b1f50c32a4842384894
lib/codeql/rust/elements/DbLocationConstructor.qll 8848abace985818a5d3a6eddfc4cb200795970146d282b037b4f22ae6230b894 44dba880e17bb1072fa12451ccaae4830fd04dcc61f7403d35510309fde6906e
-lib/codeql/rust/elements/Declaration.qll d4ec5c83728f1837243caf2f27d06fd05ecdd2ca440112accff99bfd37b45e5f c1cd9b297be8b69207e75d24b29949b9f71c78406ee0ffd38d0b0810288d6140
-lib/codeql/rust/elements/ElementListExpr.qll ec535846c4f449a3e58bb3b8dc583960ef3b42a10836ad13a6c3091f625ab463 3797f92086ecab90406b7493953d78af27b0b5c68199e2f37abc15f3d1cf88ed
+lib/codeql/rust/elements/DbLocationImpl.qll 07621c4502481540941397f6a0db6053105c576a8db03412331071d067f1bf2f 40cda40a25c1889de8b586ccb56e9ee532ba11cef725aa06461f3ef2be6f85b1
+lib/codeql/rust/elements/Declaration.qll 9ed392fd3369d15e81e9de8a99b8e789709b9836e461fde4ed3f1e30994be8c3 5e2cfcc7f6777e4cd3a69d2b026c9db5eb07f148d5a4dfdcc767f97844ce46a9
+lib/codeql/rust/elements/DeclarationImpl.qll 8e05d3f026e390c6ad0aebc1e6547770f183612f1eb0e8dbe94553701984c847 591866bba054e24111c67e91c221fa63c3cdc4883dd04f95f342dee098d5d7d0
+lib/codeql/rust/elements/Element.qll 0a766dffc553c71ffba51348124443cdba63eeb0b51ada249fe591d14078793f 8f863740fa057953cecf5a0c8121419fa6aade8ccb601cd706434b4e1bf0051c
+lib/codeql/rust/elements/ElementListExpr.qll 3b7aabe9791fe07a8350166057c81009e327a52fd4b15e887a0bdfa9c3832985 20a88a23514c7c955d471d4274e7eee6518121d04c7b6f49b64c422a06ea80bc
lib/codeql/rust/elements/ElementListExprConstructor.qll 12b06597e0700cd0eac70e42cbdc1a2d410e0ffcd05c21a213812a488b5b236b 7adb2e442f1bc362c44824aaba0ab4a7fb4a4bc550a3c96f963dc03bed582d39
-lib/codeql/rust/elements/Expr.qll a0c2cb3ff9628e5dd1a7900d2413390faa433dcef114bdc85279a3a2bf2fc4d8 a0e8e5693ead91b62da5531e070e11a2105ee49046cb69e63b8747eeafc27651
-lib/codeql/rust/elements/ExprStmt.qll afe41d6d05ed9d94b3c8529dad743bdf3e2a0e68bed84a80da4dd6df0257451d c1f0c7c1a3c62baffb7d3bb69cc4bc828e6fbbbabe8f87342ec67d8744fcbe7e
+lib/codeql/rust/elements/ElementListExprImpl.qll 355f4f62ad390729b90e7d03f14a6a47f55d22aa9639d5a4327fd1620bad89ce 993edd92b81d85666755bd180ea20cd3a81651d90218c3387e557ede63a13a9f
+lib/codeql/rust/elements/Expr.qll 784c8524fc832fa070b02f72d93479cdd849faf524dfa0535cf505e00c77a1fb 10cd8c21f618faee4dea1dc2b08642cf2f28e2e9fb7cfe619a7491478db609d0
+lib/codeql/rust/elements/ExprImpl.qll 7e64cf0ada557b0ba09bb29dfba62153d8d8baaf1695bf53f78ea0b72c688f8c b450ffd05d81e328d8d630aaebf56ca9ae0a43296ab603b659f20026b4f77ee1
+lib/codeql/rust/elements/ExprStmt.qll c0b25cb8126e75a9b03b88e83a6d3021d9ab4e7e3af44db0d7328d6d3458e066 5c41d4402595c6e443b7475b451b4fa397a37cfc505052227cd3858104cf03d0
lib/codeql/rust/elements/ExprStmtConstructor.qll 28e37020abdfce5a8666b0c9a3147c339c7a90d9de527f97fc7d36df2bb921ba 5333db932a2edb791ec3c8f2c215f4c74e825a362f45ee901949d81e328bc7fd
-lib/codeql/rust/elements/FieldExpr.qll 1e3d84c3eeeeefa1837b5359f7289c0f03122848b6f95fdb362cfd947304e107 28a6f8201b435b87705afcb8088d017fa699f60be3aefe03dd56f978ac7954d7
+lib/codeql/rust/elements/ExprStmtImpl.qll 27f67498ed0e0b93c1d5380a37863c8f2ccc3d58641ef022a7fb51feb382c2fe 3357a60392ba6f923c01bb117d0568c77cd51123aa240e59a6d2087255f8caf5
+lib/codeql/rust/elements/FieldExpr.qll 1bf444887d6af582b465ef8c9c4ab1e08f48d458939a14e10b50dd0e8e701205 af77b3beba8da46ffc0d476b47bd6aa9a12a9da144ce459790335c43634770fe
lib/codeql/rust/elements/FieldExprConstructor.qll 75bd0526fae157460750f3ea1e087c857cc703fca03d34f1f478b57ee8051590 1e5555910c643235e34b73f9844e894e51f357c3f7aba8165c47caa147336c53
+lib/codeql/rust/elements/FieldExprImpl.qll 9a73894ce49c183c3339b0138a7a850cb5a7518bf5f3355d298ec74341e4b75d 834620d81f08d8150e3ff6453a2cc159bfad75c377d2c8b9e1704a0739267da2
+lib/codeql/rust/elements/File.qll b6cfc9f538904e50d0987e5cfce86080cf5c2e9f93dad5f8214a86083dfd1b5f d6a78ee98967146a72b7b5536428be7200b75ff085072b4fc4c866c320cc00d4
+lib/codeql/rust/elements/Function.qll 25c722a29e73fdebbe5c5891f1c1d9772b4a51bcd34da5cea1b74961e2a04f8e e6349ee061f202a669678a6c0c7dbbb7be32fd06795b8474bad10da805f824e4
lib/codeql/rust/elements/FunctionConstructor.qll a9269b37182c0bf432f9b2b015691da5dbd64819b9bd25445af229d873014a91 69107a7503af14a51e091e6918094a4e9fc316a72de2e1514f001872ce0f2c0c
-lib/codeql/rust/elements/IfExpr.qll d5461ea0370765b9dd0c5aae298e53c9b3d84bacc783991fb9dceee44c87e8fb 90c5f959144c767bc8f10b322489264b076c33f19af0d19e97a08d083f76913b
+lib/codeql/rust/elements/IfExpr.qll de34447fb6fb27c15bbe0f100cfbf179aefc0e228b7ee56ecd62ebf19dc3a35c 5136d33aa3b15fce1ad83f0bd5ec6841c49372551d735811896b36a83b902241
lib/codeql/rust/elements/IfExprConstructor.qll 961ac42fe811db7c56c9d85e98724a87571e8543265c0424a7b61f26ef41b369 43d9412a22908a7e5c38f1f5e8f88162367407b71037f469dfb7d8dfdc3a063f
-lib/codeql/rust/elements/IndexExpr.qll 0729277577ffe82d6dbc8fd275a70de59a3926aafea730e622ecbbca7b84e313 c9bc5616664e072fbaef2b89d4047f5f7e28d002cca2fa17333f29db80adb284
+lib/codeql/rust/elements/IfExprImpl.qll b08bfe7a48f318c7eb2ef94c590e35e3c83e3b62946291204f93d37a835883c8 ad7a8ec53f32bac014964e128324de5e86c5ea539c87c7e465288829f91a85db
+lib/codeql/rust/elements/IndexExpr.qll 2a9af1dfd73df7eee11c7c61903f135950e177279bc4fc6fc847ece84911c2cd 7a0b0dbb4bc7134ba7c774bf6d461a59636897a896e4a5737df4950eb858570e
lib/codeql/rust/elements/IndexExprConstructor.qll 37e70c773123d775b6281514a2727e133e02fa87e774076f857a676697a1f2ba da2ed2819a13ab7c526b74c1c375ab2fce63ed17f61d5b29e4212343d6b77d06
-lib/codeql/rust/elements/InlineAsmExpr.qll 5883542b068a11c22917bd46e44eda2f5e4a9de67f5346acfaa2334f73ee63ad 9a8823c91daff1337aa60cbd6bf3b6e96ad1e8603dfe79dcf404636de2693a5f
+lib/codeql/rust/elements/IndexExprImpl.qll 7f490613f26b08e4944ac6df30aff5278a88adc6be54c8ed247cc7757b1a592d d5fc0a5ea55a61c3b110f659ec592688f944c4eabe0e7f44ff4b5f4103fec95e
+lib/codeql/rust/elements/InlineAsmExpr.qll cd1aaf5220a60ff7863b053dbf0537f2ac3894df845cc57ea881d08d040460cb 84d58c1c937e16917f5adf41177ebcb22cebdf887e020f6cbd3c9f6ea3d36b38
lib/codeql/rust/elements/InlineAsmExprConstructor.qll 5a3eb5162805366dcc2aea00714c1a0880c31b614b73b69f1638ff4f088cdb11 89c54b68b0246fe5d86f119c1892149746d7fe22d6ef8b625c9ab64398d19d26
-lib/codeql/rust/elements/ItemStmt.qll 70fc3f9df9794dc78199dfd81b8136701d4ca0c9b3c6e88ecec42f75fbc41f32 df122241e3868b1c376e2d2501328ad47020a0837826f165c7e54640bc018156
+lib/codeql/rust/elements/InlineAsmExprImpl.qll beb027b06e8ac48414674b11a52d806c9593ba90a39721a6835db108bf843130 48a9b5aeae8f959c482d5a95c8185dac27c9b1a89696417ab6f99de455fa510f
+lib/codeql/rust/elements/ItemStmt.qll 73c95ba6c596a9a78f97625651506aeab1678094139802427d7f7f66ba8a3803 75ec2db05b931ef941be4069c79410be8da4ec48ae438cec9b631c716034013a
lib/codeql/rust/elements/ItemStmtConstructor.qll cd27051f73ab2897b1f7a725313f97d36507fc9f5e0dd7b2ad8bd1caaf8c42ad 67596c97386fbe6cb9e5e6abc45b674158f411d927297345cb25359587380bcd
-lib/codeql/rust/elements/Label.qll f48209b24876d581e95120bc548c44033b6552a7875eea73ce44aa57b675eeb3 d17163f3adc9f94a462269f565153aa2822533d03487e521d9c5d5e72afaa1ac
+lib/codeql/rust/elements/ItemStmtImpl.qll 695a96a35ee959d42b166b937e9a722148a5aeefaf58ca722d1d678d5eb91612 59435ca2102b866ef170fc1d2999f5aedadb9a08fa0d978cc43208aa611bf50d
+lib/codeql/rust/elements/Label.qll 59472e56c8f7c272307a6232e1c5384bfc34200953a82655e0af822e14172929 428e0b509d603ba47e7c1cb6bb6a6a12b90af4209988bc3e441914d18f7ecafe
lib/codeql/rust/elements/LabelConstructor.qll 0625a149cb34b9f603b76efd76e679bb63808d47f9fa529959784347d8e7d447 2115bc7de878af444777f96247bc0a775161f3766e38c3c4d363c2f59b2144da
-lib/codeql/rust/elements/LetExpr.qll 986598132db0cbc861adc641e633a54b7651ff5f3bc52b5e2f4e84733b774fb5 e61ed80a6732fb344498c8eedf3b787546eaa38f203265e9a3195e93d3534a19
+lib/codeql/rust/elements/LabelImpl.qll 2ed279010530b66681e6bf33cb9619fc6f4dfc05c63376dbb8dee041e9e3d179 5e955def83ae5c6b4935be2e228643b06346a6e847466104c2e8bb04616d48d3
+lib/codeql/rust/elements/LetExpr.qll 5639621057b752878b4bd67d498afbd8628f07cf80dcd547a31e46586c084d33 888c5a476bfa7c4df20b277b51e848f78ecd3b3187f8d7f36eb3639e32e45fa6
lib/codeql/rust/elements/LetExprConstructor.qll 8904b25d70fd0e6f3db74d2e09bb3e3fee407282ee45030fdaeac31b6111db70 36dcc877f6c1810228d593d914cffa7b04ecf0afe13c4c122aca72f33d03f566
-lib/codeql/rust/elements/LetStmt.qll f9e28ca0123e2a6e1f6115821282440397cf2647577b4bfc4d00cbb4312d8eea c65442707090461035160ce830c4c0a85d1fe626f03026c13ebc4be06ec96905
+lib/codeql/rust/elements/LetExprImpl.qll dffd71ea16363e3725b63b52910ab4540a9297adf96a095d1d608b7e28f517d8 4829f8f62e84ad8924a71de698eb6c98fef1d5751dd2de322f8609158bfabec6
+lib/codeql/rust/elements/LetStmt.qll 25c1aeb5f132e24476138d19806a2b132e74dd459378c3bd10f657c11f7033ed 3ee71887c73aee98d931f8fb1f5cb4459f71fd49725a3de3ab9d4a7b21a858e3
lib/codeql/rust/elements/LetStmtConstructor.qll 5882f0e4379d07e8281a955c9eed7dd907b610750887de3dd6451cd1c8d104d4 68b0890d8a493dcca74190904b00f05b0e58aacfe5a2aa63e5ead1ba366d3c38
-lib/codeql/rust/elements/LitPat.qll 539b414883b0b86ff446fa81254f2c71f467e5ea0bda21dc3bd66cf3abf95b13 d54eeb618cfb8f0c4a48ce5ab1922fca2622f4a0c703760aa344028172f37642
+lib/codeql/rust/elements/LetStmtImpl.qll b9e30b7cc9abc93987b4c735f415393726e0c57615fd7e3df216937266220e18 aac57434aae4f04cc4f42fe2ab7282306c04ea24cb9795af109bfdbbf1ca12f8
+lib/codeql/rust/elements/LitPat.qll 34e0cf51faf5407a0d06038feb2ff6bfbf271cf48399e853a0f6d715448b6067 6b1c08de2855521e7ce3e788f412f56f31d4f7802bfe1c610977acf30b623279
lib/codeql/rust/elements/LitPatConstructor.qll 1a1c5f711b04bfc9b8b9a197564cc8acfeeaff1a9c8b30d57657747d84138fce 19cfa7386fd1f4ad8ba1ffe8b14bc547b9884dc98e731b6935afd11ceac6b5fe
-lib/codeql/rust/elements/LiteralExpr.qll c5abad970feff4cb2719cc4774aedcfbc494a68fe15e13c36eeb2516d26a88cb fdb399d9a6162be54c3cbdd83654b9736faee9b15aa111f1bbd6f333d332c87a
+lib/codeql/rust/elements/LitPatImpl.qll 2a85504fa1d94b35de2d226da94f4f7fcf68d4f35d31c8863bb742bc138aa050 aa92a003bd5159cf816902458869686b795ade9abb8a4c5ff7f795af8c6a1ee1
+lib/codeql/rust/elements/LiteralExpr.qll 25f43ae9a4f4122886177732c0f1a44062a6346607fccd810c47f420dfec9521 7c2e26c2220e24ffb2d44030165b9225425f12e9e5a90557ba202ee5fd78e3f4
lib/codeql/rust/elements/LiteralExprConstructor.qll 1a6aa25d6700ab9c85bd7b721e4818064a3a092386589ecdc2018b8b8c2464dc 6d6b50e2dabfa671110454d64f0903336563ee4be1dc6751071a801ac2fcb8e8
-lib/codeql/rust/elements/LoopExpr.qll 6596e1d8ef1e9479785871321021930244dfb7736111801aeacd08446f4d2238 5895e4a5d4187fcd852528f0cea99fa378d60d279c7896b221eca8e65109fb96
+lib/codeql/rust/elements/LiteralExprImpl.qll 9ff59dc4c2ecc4599687ddd35285faeefa8489c28c423ad9a5997a1dbd30aec5 dadf5e43333edc44ff9173566aeede14824037ddea13aa780e7f6ab9931a0aec
+lib/codeql/rust/elements/Locatable.qll 3118fc455ed807ffef1baa4e74a7eae6123be9e8d350f007611b3c6e1aad4f40 70e0c89e030e5537795da5ee7218d5c4c40e88841696908b57a04601757e1075
+lib/codeql/rust/elements/Location.qll a0b276ee572191693c0c0b02eee39c44e308fb89e0556e06faafd311d8681f82 5beae82da3c3c407bce9b3662dfda1251dc6a8df8c06182a12f5c6df38924236
+lib/codeql/rust/elements/LoopExpr.qll 3a6f02ec2fdcc7b67053161aeeffe04c24911a951f72011d8e6f40aad3c6ffd0 637c1e9d91622c6f9af4272d4f2d650f1dbd6ec43874613937e57abad3a6fd7b
lib/codeql/rust/elements/LoopExprConstructor.qll 635348fe22fb47c7e59bed02a8ed6420be5a9ce92a7d9bf4475465ee170c917b 2bcfe70247c55659b3a3e09562da52fc645cc3166748f268c5a38b35fca24233
-lib/codeql/rust/elements/MatchArm.qll f91def96700dd8521c11aef100f494d2d44777186e771b306ec9579b01c882af 021b298096cd88d3de81c2c012102e5b5ce5159d6dbca2bbd32b266593df335d
+lib/codeql/rust/elements/LoopExprImpl.qll 16d97fdb78ac1283c2ab19d5ec01570b87470a8fe31eb6503904ef23937a6054 b65d79dfd9d951b8bbcd85831d312a24582e72930366a13b5c70a3f8cde8ce58
+lib/codeql/rust/elements/MatchArm.qll 9076a43d7c723ef510d9174aeb882a5b1a1c4b2e34d19b21d92372c453d6a338 4a7285b6ec2818937483546f11eedb4870994f2a2e6c1a59f79e9f75447a350b
lib/codeql/rust/elements/MatchArmConstructor.qll 49d134823a445a1ee995ebf5637fd0d736b9ab7f2b141026712f231ec4ed3389 f16e8adc8375e6a7334589d5732dcbe10f5ada9de7a12c549c55be3f028ec628
-lib/codeql/rust/elements/MatchExpr.qll 87eea89af08e7b9e4dc958aae0d35035fa8cee5fa7108f59cd0d3050dc70eb29 ceb061ce32c20c9aa12e6376474ea1ce1b8bb9c9b0e58b67abeb4bb666a18676
+lib/codeql/rust/elements/MatchArmImpl.qll d0c6271806abc4b1f2ab24d3f00fecdab500407d3fe9355ed86142d785c3abb2 21024efe1006693d1b9afad74565ece10a09c551dc7c6b42ee4eba5a18e99fa5
+lib/codeql/rust/elements/MatchExpr.qll a9a15902b8366ebc742184134f53932878e82071084ac862b1e4105b72150382 2b7150db4cde03445fea5a506db6b7303b210b3dbbc54123194e3bfa10d231c4
lib/codeql/rust/elements/MatchExprConstructor.qll 74df937d7d8bfbfb02bdbf095595eb3f2129ed4c0854bae6d73b5b38d4fc902d 5c388c02f02462d843945111b72de12bce33c7c332d55993d903aeb250213407
-lib/codeql/rust/elements/MethodCallExpr.qll 2dd115a2e5ac298d9a81cab2718b7abdbe52825938ea88115913c82a0f2f7751 9733c353b9e6703ef812eb8b6395db49d6d656460c575dbd75d67fa96784a33c
+lib/codeql/rust/elements/MatchExprImpl.qll 98296ef1b4d05af5708c0f52b72183443f380a0051b953f15dc3ddb01f012ddb 334a4e8327471ee9f73b3ddbd011f68b2d08cf90b6350d34893d4fe65e16784c
+lib/codeql/rust/elements/MethodCallExpr.qll a52004fc187da4c2b3a321544567a6124cf3bc064179349a46f45b90b2ba554b 0e2d6a7276cc66f032bfd38cd7ccebe72664c40878d9747418dfa9b0b1e530ee
lib/codeql/rust/elements/MethodCallExprConstructor.qll c9e1137ba6b76eabd941ecaa27a5b43b6fc3ff445ad46d3f625ad086de0e0af6 47bc4c30182b891c7009ba536edad7393dc068b72d9dfc16b26174b15d49748e
-lib/codeql/rust/elements/MissingExpr.qll 2158f064d027975e3faba6a858b8e469c324544ae0923319b149fd5ec6548448 500ef109ceb36f5da72040fc733c7e98f94920f51d53d90fff3d86f85da0aad3
+lib/codeql/rust/elements/MethodCallExprImpl.qll 868b8fbe5a930e69f89d6012a009718a61b580190372a6d9ee15b0d8e55effca 5760d9b3d8c27ea48d41755c4cb206c6f310304669e55182af18f22c3aef7437
+lib/codeql/rust/elements/MissingExpr.qll 347618e6e135ceaa41829aca16662e7f9f4f658977574b092d9126107ad51e7b 412b2b53d2af3304a5dceef249583a7fe2b80e62502a29e0a5e594a344c96a85
lib/codeql/rust/elements/MissingExprConstructor.qll c51f4f6e897ef2107a27bd91ecf31ce875611b29a5a12238d5312b9489a35b8d b9ea3fdae459aba6c7ed9eb48edbc5bdbdb4cb41220fff81ed4cd256648612e0
-lib/codeql/rust/elements/MissingPat.qll eacee2eaede4adb8452a41c14c95c310d0731c2c60fdb818b3e94e34f418aed4 9f81567e8e9c02be0994764a082a2135a6bec952456c2413295f2b0a16e5eb5d
+lib/codeql/rust/elements/MissingExprImpl.qll 6153a68d97ea55ba32f6806925b66a28fea907376bf8729810ac19df3ed1095a 9ed64ee92ecfc39f793a7a9a1d83a6b72bdca905946ba602904fdfb26701859d
+lib/codeql/rust/elements/MissingPat.qll 8428388429002a219151275feedba237527a176280c6df23ef5922d98a35a93f 64a53f0a80f416b58d6aaeb3837063412e1a33d27dafa62b0a75a989276c3e15
lib/codeql/rust/elements/MissingPatConstructor.qll 7bff2fb7fe96388dd703cca5f0bb1d04cea5d1f0729bb54c6604b58e338c7d6b eec9fea46593b3850da111658848cb54cfa9992286eeee313a55def184cf7ec5
-lib/codeql/rust/elements/Module.qll d8995b361cc672f86a314bd53bd3e4d1ddb26b6afde62eb7c380923810785af0 3c10180c812d89a8116ac6e32cbd4d7ac2f549c8a76d327ed75c764b09251d52
+lib/codeql/rust/elements/MissingPatImpl.qll f12868518e6ea75d35b18de8619989e027e021ef5daa5b0aa0242d27f3695162 6e3b34cba6b8c6ef9f768ac10614d9e6fb03421baff4c3b2a428d755286fc2be
+lib/codeql/rust/elements/Module.qll bf76e89199849a6f3aaeac258a0de50ef7a2194377d015a5e285a71bd32ca7a9 7e6a142ac3ab60c2d73297f8fb0b46526cbfdd70e1116f28f5e109724fd7346f
lib/codeql/rust/elements/ModuleConstructor.qll 109ed8c1b5c61cc1d3e8613aa8bb8c168dc1943c93b5b622fa79665751b78318 601526c7f56578883d261d14653fdad08329f80fea71de14a5ac5ce671a8d436
-lib/codeql/rust/elements/OffsetOfExpr.qll 1076421d48a639191b52ca36701e760ea20a6ed1c8ff8f0cf1607f557b9f9a58 9cadc919b51ef5b223ce2c827005acf879309c9cdb971e8479477f0646e7c70b
+lib/codeql/rust/elements/ModuleImpl.qll 88b6932484d204f71c87c0350ad0a88e92441633d5cb3304fea76c1c1e3239d8 58cded9f187a0c573798d6f1b134491683d624ed0d4ac5798f1d5e33726e81d6
+lib/codeql/rust/elements/OffsetOfExpr.qll f6a8cce4a9481143738345020e79b7ae88ac294af13d890b99b16a79792957f9 2501143198a7390c5f91ef2c86937739b57e9201a67b8b6eb96de14dd85eed38
lib/codeql/rust/elements/OffsetOfExprConstructor.qll 8034eb1d3510dffe9e38cdfcb57a0235ee01bb50e1fbaa6e5601e0e232c1977d 6e3b7c20a17fe4c45d503ba32264aea8f6dfdc69ccd95905a5bfb1e8b0cc91d0
-lib/codeql/rust/elements/OrPat.qll 9b5cf68d55c57c262a5d630852ff2e842f0caa3aca2a0b4491d601340917db63 c965eb43675b135f3ce11c1e8762af0b764c6d4c262f002f8b9a512ae59e8a03
+lib/codeql/rust/elements/OffsetOfExprImpl.qll bc0dcdb77c0ca023e12e8d7debc92c3726746ae33bb6b3083f19cc840f27df0e c30b07a5fba0edb84d03bedad8327422e0cf47deea2fc1b0a750fa57321c3f63
+lib/codeql/rust/elements/OrPat.qll 7b66984202169d4ffb9824fa0603bf899653f6b90752eef6969b0e37a45601c9 b4e43a9723551fe8b92582c7b5f877117207b00134b8a5210e8fbbc0d31e7caf
lib/codeql/rust/elements/OrPatConstructor.qll 9a24cc095adc55ae8ea66f68c695f42de0181a43e23d70e210c63351b47e2586 1f773ae88276289672d93708f4ae9f8c95199e7370a0c610a52c92b5e018e632
-lib/codeql/rust/elements/Pat.qll 197aa86d5f317669e38230a20460b271c1d82e830b84150dac65afb67059fa2a ed3e8c74e42ffd5df14dd88711d79660982170a42f9a605704a274298dbbfc41
-lib/codeql/rust/elements/PathExpr.qll 15d12b039c117e78fde972b098e22ce247e5a6df4f52685173241d76f6c18368 8e8222767d49c022b6a69ae8902e86a5be9ac3803301c6c9b409f265546da520
+lib/codeql/rust/elements/OrPatImpl.qll be567c5c12fdf5aab64f2cdda05057d21fd66d6d6671f08a2015f81a51b32a10 b5de6c18f630a8d6855bdd83a4feaf194f385ee0029619eba8bd61b7f96a4687
+lib/codeql/rust/elements/Pat.qll d62e4b2517e58499c9d67493803054481b28aae87a519863b7c1859ed0bcce80 2dc0e7a267b630c70e37509dc70f53fd4056d7a775e10316dc7c560e33c20989
+lib/codeql/rust/elements/PatImpl.qll a44093d2753cf2fc61bd606a6df347f0476f77379946422dd34933742bebfb49 b0c114b380992316ae6a370c0567b16122d31df7372e14b35d33a5d8c6a0ed96
+lib/codeql/rust/elements/PathExpr.qll c3186e9daef34c74e67eafb1ee5624bed75c6bef9ffd67febacace6816becaf3 a5a86692ead483580fed7c3b7920e4f705c806e3ebebf546a0b0d2b7ab2ba893
lib/codeql/rust/elements/PathExprConstructor.qll 9db3d3ad160d897b65b8b8a62f3243f7ff80d8e2d27875b3cd2c2b046fb0f9b6 26c2ba19a04fba61af8aa0cd72602f7b02bf0e1b693ac9cd14c7ff6066412f75
-lib/codeql/rust/elements/PathPat.qll a49036bca0f3f023917fec3547876759987a34747e16b9a15ebb99c82ca9234c b4f77e6e29300f02cb845ab79d4a64edb654a398fe3d6c1a2306423e1c0a237b
+lib/codeql/rust/elements/PathExprImpl.qll f7c6cdc15edb9a102056986ae908be66ec7e2db1f191df22c9af3fe1736b4514 131c4945095c5c2a31a316b3f694df9171397c4f813785619373a6bc56386faa
+lib/codeql/rust/elements/PathPat.qll e2195ea57aa56ce512498d3d2dee14c5195e00aee420c9714519a4905df13a4a f7489a690a9bec68641a982d4cc6efbe7a378209ac87c26f10cdf331acf10019
lib/codeql/rust/elements/PathPatConstructor.qll 476a38723c63bbfa2565946725c90f1224ac2c5283fde79bf14dcefce6f500ca e9e9b000cac44851772bd9ca519edc89e8518e89a0930df21af14a69f5b0e864
-lib/codeql/rust/elements/RangeExpr.qll 05a56b149adf83006243335be90c23eca71e981aea33c2d81dc8ad5cdef757bd 602bc5ec0ab5e7eaf9f1debbb80d2861d53b6de5d10011b50fa71208a6491cd2
+lib/codeql/rust/elements/PathPatImpl.qll 69ae4e44f1421300bdfd6044e2031fc5bd72b5a77747978ba79a09830a175fee 161e432e264812563687884ee5985fe952c4638a690f96822de39701fcb060d1
+lib/codeql/rust/elements/RangeExpr.qll f1b60d38c3ea06b675e7e584c9022e12bd748130a98f2aee02f2122c2455a9de d8ba128ceca1d8ed7f6f9ddf5ca8a0dc3c73ef7edd24d1043db1bbda2d0f957b
lib/codeql/rust/elements/RangeExprConstructor.qll a04153bf88dd71c3f516418bdb7377ded9db21c07f7ee6dd245ed8b44719d8f3 2d578f8dbc49da98694676d6a59bb9d58c6d2a200ffc893ffa90dca77878e38a
-lib/codeql/rust/elements/RangePat.qll 02f3e4647932553481c4d8b1e2d2da3551662a17d75f26f2fb7e9d77ef1d579d e2546bc74035d03c92aa7beab2abca73a587049c95710eb9b59f916363df1552
+lib/codeql/rust/elements/RangeExprImpl.qll 022da31f93adcd35a962faf3c3705eb326f63b31169a2331cb2710ee70d4a37e 38e90608d18f8fe97239035609b6ab04e3d6af6035117eeead2e5e120baeec23
+lib/codeql/rust/elements/RangePat.qll cdcf920e51048bd8d7c7e45e315d9865a07794083384541c4ea0a7d59af74dc7 fb6e58487f9cc92d1a8522581ae2e2167a2de3548931f977f995ea3b3cf01697
lib/codeql/rust/elements/RangePatConstructor.qll c391431118ed6ce16f7b7126c5d43e61f07b98fab7b8bc48e9dfe22f7e21ed19 bbafe1c9595b0b004f7b27999a14df27d0710d5b058e7ab14dddd2fae058fc31
-lib/codeql/rust/elements/RecordFieldPat.qll e3f69b2c59d50807393928ef9be0b51af016f209cbae68cfde0fdf02b287f353 b24e256f850d1f0bbacea74c4879fee8bcedf47f65db091d7858302355751fa3
+lib/codeql/rust/elements/RangePatImpl.qll ca165baae33351fa37f8626b690db884a2043c3282f521505b9b96eb77e22960 40ebc20c105e88007b483f9a56684e3893855739531de5f1a2b34b71abf06b30
+lib/codeql/rust/elements/RecordFieldPat.qll 85a8d0e45b569c575469a52f74f8d7ed89f80b9ca835b196f5f56622f09b7b44 ed3f5fca2472103d272cabd3003e47aeaf0fcfaf896e241ded39007742590ccf
lib/codeql/rust/elements/RecordFieldPatConstructor.qll 36859753aa70086c540a1700495fe6c414521553877bfdd56800f586eb577743 1b31233a5e6da0bf88aaf40c52fa08cfbca5b44088cd3f91957ce8c96f4aeaea
-lib/codeql/rust/elements/RecordLitExpr.qll f5c0377f0a1805d824052acbcaad393ba10b0f994a5ea6b6f60b5eec2c417c21 e61bb3750d19dad5c4e59dd0bb3a65430879f58909b735f7c28f378cd2217221
+lib/codeql/rust/elements/RecordFieldPatImpl.qll 454dd0b9b68983a954b2f834d00515c9a9be2016cad3b7c8a3711b3819909e27 4ab4228d3c9e582c721737fd9fea4103db1372cba10936ed09a541daf28d79a9
+lib/codeql/rust/elements/RecordLitExpr.qll d2ae1fdf0686cd902dbafa71345cf5fa27a82807ee693f48f08ff4c3cd0d56b2 4e5dbc680d8379d320269d08bb335b9e76003abba0112882eb6c9f8a77bad2c1
lib/codeql/rust/elements/RecordLitExprConstructor.qll 7b676a8e0fd9ba5a932988e613fe3dda8b6b0430feed8791ef5585fd9cd81767 f7811928dd8269138d75f0a6dd1c60f70d18806227bd2caaa5cd4cc1341e9286
-lib/codeql/rust/elements/RecordLitField.qll 27bbc256f61f4428578155da47b1a1b3eef43fb5d4d98f168c66fa85337bde24 880aa885f2ba3d1866c6023360a206dc5095385adb908e953ce792beae90b2ca
+lib/codeql/rust/elements/RecordLitExprImpl.qll 4f0eac101bcc7d74376d2d1678c6455e3b303b768781910ae4b48c2401daf5c6 5cbf6ff5151379ce5cdd1d264c2300ca05a746dc43e8d83c432198dec6c15868
+lib/codeql/rust/elements/RecordLitField.qll fbacc3bb05783fe2c2d1aeac6b63f21c409e9c16791f6543fa4b890285bf2a9e d4bcb523b5efc4cc820b32ea9f5e03e46e24bed7268bb8ab48afa4cfc2c6e20b
lib/codeql/rust/elements/RecordLitFieldConstructor.qll 0f83c9dc00937d90ee0d64d157458145078f5f3c87c9c0484600fdcc830ab207 e2852d5bc4f0174d94b90a2ee34fae1e6c4b24d5d8ccb58a51c520b12adf8512
-lib/codeql/rust/elements/RecordPat.qll 50f4a2401dc579f3900188043d412ccdd6c57c1da6636c105221cfe243307d32 7812f0e10ce1a8e70c8c45d0c87e52539f6b29469157463456d06c566e86c2dd
+lib/codeql/rust/elements/RecordLitFieldImpl.qll 469fc2865e2ce7317065b5c71af1b16292665df844949b39f243e42447650e58 6726300bc48a05aeecbd62c2d7565260d532f1d2693d11b8d8551c3c98a8d97a
+lib/codeql/rust/elements/RecordPat.qll 024770353206fdbbf91cf21588574c76a84b2bae882ded3414e0f6cad796827f 2fefb81236f0aac76d83ee711aec3ce23dcaf3adb201dd3162854391bfa2571b
lib/codeql/rust/elements/RecordPatConstructor.qll 93c794efa5050b86c458470224de7f3206c1a004b46ef374780f080a8e9a4ce0 157800f342de96095e118dbcfa20f8e65cc79ccae712e8e37bff1ba92a227fda
-lib/codeql/rust/elements/RefExpr.qll ed47e1a834f2af93197ceda685a368465f7eea59704c2b7df3ef59326e53c0e1 5676825b036eb4cb560238d86c8d1fac48a4e59d91110da0dc75eacd542bcc8e
+lib/codeql/rust/elements/RecordPatImpl.qll cef255591c8199eb2f06fe942ad8824e5e305873ba65f84ec9512b7215eca4dd 3e03cff709b96c1964c14cf75e3cbe45c27325974a6a337eae37c983c8a11320
+lib/codeql/rust/elements/RefExpr.qll 61a83ed02b6223dfc7385be210b283a2e96329fcdc543be1b096a9421944207c 617b7971a1ee1cd8998b93fc2322080d342f00ef30915777e5e45acfd6502190
lib/codeql/rust/elements/RefExprConstructor.qll 4a2b9dd4ec2638a5ccfca268ba377980aab3179b27177e34e44e0e9dc6653b36 752f6f298369b8c0f59d49ca9e729c20aceb3559df68be416c7bbf65f578489d
-lib/codeql/rust/elements/RefPat.qll 00b2c32e09a02b336d516b7812aa7ffe6202bd1dcdf4ec2060a74ee7a4b1c5c3 90a4b3da60aec10b5d56f6364d0a022c1d7db5fe8cbb65a78f55651d23f9abe7
+lib/codeql/rust/elements/RefExprImpl.qll 929b32994bc088e6f11eeffb7bff85122c987d3ee2ae229b5ca2d3f5675c36f2 954cd4b2611aea7839079ec8a321d1b54a3ebf4d0dff2f81e9dce6e240c117b7
+lib/codeql/rust/elements/RefPat.qll bd0835c80895565db83d396ec87f686ab8b30b8aabfade65820312e99b1d2073 fbceff44161a757008c5e87aa3abc6c8d420e69c62d1a7b0556b2702a8403b56
lib/codeql/rust/elements/RefPatConstructor.qll 98497e0ef76bec0390a23aede2fc6f80050ad2d00bb60f1d473362111a53d4dd e4fde4e3e88c33daee90ab6d90ef2e38b36faedcfe1b6d6304f4eed92980b5b1
-lib/codeql/rust/elements/RepeatExpr.qll 24ae3d83a83fc40bcdc6ba5c397a31da388c9137308cecce7da6fc8ac622031a c8114ad0ca7197aa791ae76d1d42b53ebd6f6b98378a779c59727d4e4ec5dbf6
+lib/codeql/rust/elements/RefPatImpl.qll 6b5996c8602238cc6800a79ac3deb03dc2a3467dcc5d70417199f4cf061fef8e 3180c027033e0c67871494d8f35c72cfceca447ca3c2d0f2334b3de31b7a0a3a
+lib/codeql/rust/elements/RepeatExpr.qll 50ece423210fece4cfd0944f298d045003b13fa883a18d1f2ec38ee1f7f7bdfe afa8cb6f99b6d25b22e495f915ab8f8b34910aad300032b8c2ac5e64bae7d8e0
lib/codeql/rust/elements/RepeatExprConstructor.qll 7e141ed538f1dd5debd83de045eadc74ef032acc8a64ee2e8ac760da60ede525 d20206b72b14d03f8a41571948210619ad7d7dc438ba04ae45d929776a11915d
-lib/codeql/rust/elements/ReturnExpr.qll b36dc07c367af16c5df6276b10e36d85dbaa500092c555679463f8db817bf6a4 4f95cc9d88bbb8403e35b270897a1ee9ddb4c8bef393b06d7a014d914ca5fdec
+lib/codeql/rust/elements/RepeatExprImpl.qll 88d07ca60093eaa47886996211bb821b4a5854b59d1c4a211b75a53cbb3f4799 1d47dde9caddb04e6723f1bb717f5410ddeef4a6bd5ca6edc874996b50bd4fd7
+lib/codeql/rust/elements/ReturnExpr.qll e0751639195b635fa2f32ee0eb5cd7d73b08252c6311154340461bf0aa520ab1 ad778e3551e56210040590cdda9ad8876a87fa75c0648ccc3a2d2125027043d3
lib/codeql/rust/elements/ReturnExprConstructor.qll 825501a55f7b5556ded49fc3c43d45b7d8325e3a1790a2af738a46df33b569a7 ef06e95f1919952e537027861660a4d7c79b832fdbe802bfa5bdc29ba0192f31
-lib/codeql/rust/elements/SlicePat.qll 3e88657bd488dcb1ce2fa6f4bf72a9f76c7bfbf64b695070efa0ad89a6af407b ad60e3d0eee368c21c46acb439b599d8867c82193c7279777fea10f3205bd272
+lib/codeql/rust/elements/ReturnExprImpl.qll 990a3999492e4258e6961bd015b7014f25eed6387084af6c32f5a6416756f1f9 dcf6c8d83e0e728f48b69bbc73404e8e0e6ba7e807babc45593e05af4282ca80
+lib/codeql/rust/elements/SlicePat.qll 259ba822e35378e86d37b3f4f372abb1c3bbd3633bf3e02d270b89c9eb267ddb b6e3df98ea922c8ecd644ecfddada71aab17af38518afb596834b7d969e442c1
lib/codeql/rust/elements/SlicePatConstructor.qll b2885e663932f68ffecf87b4532f533e9177beddd715765474f454a9804afc8b ade153522a4773eb769f4f4d96fa07add34089f131b41a74534b28fbfd2bbb60
-lib/codeql/rust/elements/Stmt.qll bbe8414d75bdcfda90f47b853a04fc618f4d0b6d6cd3b662bb15d3a9e5cc7bda 714c6f8eba9882363bf1594f48c75d1a885f6e93adadbdecbbd8169ce08f7b98
-lib/codeql/rust/elements/TupleExpr.qll efcdda11afbbeeb237a9b7f84a5a59ca3a98b541bc660b58a41f1b1cdea56efb f416c57e7190e91bb36d4235ae017cdfa8e68f69b38c55c6e7a71eaff35e5bd3
+lib/codeql/rust/elements/SlicePatImpl.qll 0cb9f1e8c97e947350d0c0ec23cb4c80eca842451d644963a17679938c4f484d cf03168ddbe8b4e9643aa160df3b5b570c4c40033bd37bf33c95a9fb4478b8ad
+lib/codeql/rust/elements/Stmt.qll d47678cea5f87d7f5452ff4d3ad4cafdc411500ccffb20655e1a092d5abca3c8 757be4f4fe1ee407dfcabb74a6e75fb4b20645633386f45662a67925cb67690c
+lib/codeql/rust/elements/StmtImpl.qll 8f9aa50eba86c97744a07b26e20998d2c863d5e8a01b8634f77e12daf0d12b37 4768a2e565aad1841dafdcd217caa2cae80a27bbc0d4eda526708aedbc0a3910
+lib/codeql/rust/elements/TupleExpr.qll 16fa0c6987e0962f34ffffb5c75a5318b13b4317d33bf3a5a44aa1ee0e5e3f41 7fe298dcb4cb588f422f72161ec5cfacf9c034f8184f77057b110047fe51f2db
lib/codeql/rust/elements/TupleExprConstructor.qll e7cfe2da7457339e99263030e74715e5ca44828d74ea3f462b90a7e72c1e9302 b45006d9cc7664a5a659e7c74f415142e2397dc33fb1875ac3a6cf5ca39e709e
-lib/codeql/rust/elements/TuplePat.qll 17bad5b6a0be8e9b61addbd9a17bb387709147e8d2fb8a93ca9255a8a11bb822 7e84df64d0baf1b5329d47f4977fa5e8471fc323b2eeca8e942df93a48e04cbf
+lib/codeql/rust/elements/TupleExprImpl.qll 929aba4dca7bc485ad9843e08ceedc73eba063dfc0793f11f7967c5e65410984 604228931095d8570ba26ea2c63eef9493985dee89c8af0a6352902fa647fe3b
+lib/codeql/rust/elements/TuplePat.qll dff1a079d1824ce99d426537c6cf5b75f38150fc86af37fd2f5bd0adf8cb0be0 73ec7b33d0892b1843d77ed428a71e490dc3fb344e4b68c98095cba014b0d70b
lib/codeql/rust/elements/TuplePatConstructor.qll 505c4f440b47da576acd7e3fc69d6b49e8287f981a21e79919ded374200f2578 b295526303bcae982ddd8c6b544288c0b8b8d62984d6986319e7f17baeb7a19b
-lib/codeql/rust/elements/TupleStructPat.qll 50b7d89498dbe6737d97325037156c7689fd8d7e776d66fef9551f173fa3f2d6 f42edcf42be877424ecf2f11c90166a90f485249b24d73ed302294299d6a9bcd
+lib/codeql/rust/elements/TuplePatImpl.qll 9c603f1716bb571299182207130136e9561867bc2f4d2218b3ebe2e6c43259ca f89da241e136f6031eca13de2b271609926ff03ee3a4b5541bd0a8a7cb61603d
+lib/codeql/rust/elements/TupleStructPat.qll 8039ae6d846f1a8c9b698b2e2190776a4280a24af5c89929339992b41d117f80 153843952ddcfc176fac86de08c7a435c1356de2e61ab0d42049355092901099
lib/codeql/rust/elements/TupleStructPatConstructor.qll 15a15362572ac2dc98ed3257f195f20bb8dfe34a1fe203cf2a1a193ce16c406f 9e590b50cf865f6bc573b6fc17acea073f0d9389be241b01e820d9f3f8f14acb
-lib/codeql/rust/elements/TypeRef.qll 223844544eab3e07b6edda805c6344fa8b486aeea7bbe62e4b98e235ce2008d8 7517748b0e7a57c925168f5ce7a31ecc1b59f7521a2095578f599b8d9045a4e5
+lib/codeql/rust/elements/TupleStructPatImpl.qll 1db0b71c3ae3b107ef64913c0ce52407299175945833b006aa61110bc1bb9a37 60338c64cd39cabf1b5269a9b409b600a6705bc950f35c96f6f017cc810872c6
+lib/codeql/rust/elements/TypeRef.qll 65f66e5945c4a0f62284e160a0957b817c08885f9c2a1a3004b04df8b7290969 f7417bf81b8bd2c90223172e7aef78a97b993cc003760d47a0662d6b382439f0
lib/codeql/rust/elements/TypeRefConstructor.qll f8b2e5ef15517890a8b2d56643f471ae64cc74c420187049e33b182417e72e4f 683611e732b842756e301a77625b385bca0c4969971020c9e11220a1aa665a29
-lib/codeql/rust/elements/UnaryOpExpr.qll 32e637510c03653cc28cb9a25a2873e9bf346aeb63ad2d7a571bfcbda45c59ce 044b22dd35491f9eafc6488fff5bc929aed12e2f36ac55883925c876978bf7cf
+lib/codeql/rust/elements/TypeRefImpl.qll 36263c01b3a1f4356934b6ca794fdc4f8cab5c100289acbacf4a4d8bee124911 eae11fa1d3805244d6230aafb8cf0331a4400b489cdca3a6786c3708324b3694
+lib/codeql/rust/elements/UnaryOpExpr.qll 25d14db10f89852cc2ef538529794d430283a8eb8e59ede8cbb113833e5f521c d0882f87fe7442025de21de5003224a01c163d010e9af330bb2a4e85d5e7ad29
lib/codeql/rust/elements/UnaryOpExprConstructor.qll 43db7afbd3535b7edc801d99d772233a734f4ed31eeee2ca74e7ab26cae33e87 7345f8d4cb958ee2fa83d3634285f12829bdd1cbac2697236d6fae062313ab6d
-lib/codeql/rust/elements/UnderscoreExpr.qll cd49049149e268524412a17394daaef696ddca63f1f452b369172b9643e94d82 228568c12efc7c055f2ff7cc08c2d0ae150f6356f77ccea98b7f8be3d6bb4806
+lib/codeql/rust/elements/UnaryOpExprImpl.qll 85967ce8895e083d9ccb3de6e0334f8bf39ea9fc18a64b90e3da37565af6aeaf ad1a4974f4f243c98be10a3e2623be5cab21bb2ea1e182557cffb9014913fdbb
+lib/codeql/rust/elements/UnderscoreExpr.qll ed99bc0c216e0c23c24f78f3ce07ff25d4270d49d0d4923e52c9eb227d020950 c8f86be55050a7039a9f420ed17ffe899a426c05a984a98aee28de4fcf3a2495
lib/codeql/rust/elements/UnderscoreExprConstructor.qll ea9f93fa6529ec4e5bf5c4a98959b2e013e83fce4a74ebfc476b10bce2b331b2 bc36b62fd4fec6fb388d82e2af2aafe0099138d54b7672be81e84fc511fdcc8f
-lib/codeql/rust/elements/Unimplemented.qll 60387a9def0ea3cb9534311ace088106800af0acb89883c5bc9b26d8d8d61718 9d869f83e73915bbeb5af27ea30b69f20c344cd7d7f253cb7dab74de20baa0a6
+lib/codeql/rust/elements/UnderscoreExprImpl.qll ee878c9f8b889033da7595001d83d818691fcc7516fcd6fd6d717e17ae54a392 4491064b702d32166d980b01c82e2ef503c97e58e189465f21c626ecf3819dbb
+lib/codeql/rust/elements/Unimplemented.qll 310b4e7bf517f41951c6c69dc004ac136a50847f0580b87f94509fa482ecdbf8 f5097df677d946c31352d45e7d42a06006449768fe73d92f0d2f98bae0bdc778
lib/codeql/rust/elements/UnimplementedConstructor.qll ee024d4944aebe619ee3ea0ce4f84da0f4fca706baed250c8a65464a8d77979a f95966e3a63cbf2b466241f55bb47c23125645fad206ebd758236465afa4f97d
-lib/codeql/rust/elements/UnsafeBlockExpr.qll d708ee1e3e238fc0bc51b045d8364a1f0fd174570c1e6416242f79655d1c1e38 8f67954791bbe9e127ddd4ada533ba97f5cfac9894a979410366b6747fdd4519
+lib/codeql/rust/elements/UnimplementedImpl.qll 3613304de7dcd213a670b1e679cf7b100a1f5994d529ea20a44e817927fccdea 56986b5c1f568f3afba78857cd280b0f5f3b6e4abac44289550467abf99110ec
+lib/codeql/rust/elements/UnknownFile.qll 946fe439c658b845f82e8831ed06c04e4240a8ae5684240dd5302992b66bf29d 84fbbe0325b299dbfa0bd0ef6ebf973b2ce299e45a3d6f1e47b34b68a0a28a16
+lib/codeql/rust/elements/UnknownLocation.qll 98aa51b1810cd4677413c20a998ad38a7574b2fb1537688de45bcee17d805e93 2cb9fc088d799e6c84c43fa675463474aabb46b4ad0811a7d179fb4e67ef35f1
+lib/codeql/rust/elements/UnsafeBlockExpr.qll 4d616866d8e405744e7604d81ab89b35215d9c9004506305e24513fef41a135c c8c82c46ddeb434ae3ab8e5cf9d77914ef576993f645228104ae91125aae8ded
lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll a089d89cb8f9542b3ee94c8eb7ca9ce0ced08c954802b26826f6aff12f8705dd d3919a40e13d97c48b19df647851f120b667300864d3a2178b1b01236c2dcbd4
-lib/codeql/rust/elements/WildPat.qll 9791bcd2b36516da82a81c10655fe6b4ef0f788d548cc99cb88578dd9c1278f0 03c192da4f92db637001854f904f5f0ea7406b74c02c1ce26cd375d9cfb26108
+lib/codeql/rust/elements/UnsafeBlockExprImpl.qll 25ba5a53c7b2311b096b9aafa916d4fa83d0f87717bd296274f315b133cdfe64 5c44382b9ba42a5d6e9583da5919356b8d23d9e804fe400188bb778b999b7246
+lib/codeql/rust/elements/WildPat.qll 7eead7e955fea6f76fc8b54e28f444c6a37ad529028b3d73b8f95eaa2d0f5bf6 c31c1f806a64611228ae2400ef6a66a4d0800dfd6cfe031be1d7b95fb63aa4f7
lib/codeql/rust/elements/WildPatConstructor.qll 538cde83119510e0b3fc9728127cbf980d17f7f4a9371b4572de26329ab08341 66b96aee3862d5c314a2fbcc6930258f755189c4359394b432e8edb13a9d0eaf
-lib/codeql/rust/elements/YeetExpr.qll 04a1f4f7b2bb697e30ab284720ed30c0c8e1377cacf787383518da1e882f3bd6 277a751f38830e92deb0abcde9cbd124bffc84b7d5a1bacb4f1844c6ebceb2ba
+lib/codeql/rust/elements/WildPatImpl.qll 5d91573444e96cc5141ebc01cda726dc1ecfd57033ac4b36f8834909e9e95098 de8a08e6aae78becd351b17d1d53628c1dd4b696b67532cc8669ec798e754545
+lib/codeql/rust/elements/YeetExpr.qll 560bcbe96792d48b607be91b59c4cf803f0f67bf83895127068a1f62f3ed55b7 1fa69b6c1626ab696377bb71aabc0e7518da7ccc8c049369e37454d7109a315d
lib/codeql/rust/elements/YeetExprConstructor.qll f1871c6e0c966c52806e370dbe2956585bbfa1dcf0bd7ebfdb2bd39b7cfd0d7b a2333e80a325a921a66c34151401da12c250951952ccb0c81e5102dc62299503
-lib/codeql/rust/elements/YieldExpr.qll b0f238ba2e4b83b449b44224d766b6cf6b15523a413467f608f4a711d34edc01 355fcafe43915d69a07725ec3707e66abfefc6157bd7dc1c1fd846a965c6580d
+lib/codeql/rust/elements/YeetExprImpl.qll 1bdd84230d867cff4a280f1d8715376a78994071df0c9598d407ab1bd80cd9f0 503fd47816bc7af429be390f64d4e200f6cb98cf0c0e856e661acacde9a287a8
+lib/codeql/rust/elements/YieldExpr.qll 25dfa31282fc22df0ac25ff4a992b2e625d631b1dedf5bd3d142cca1936c22d1 624a4e04a839956ceaf9d614960767724cfe054f18a9f46646d09982d1470511
lib/codeql/rust/elements/YieldExprConstructor.qll ff46ba17cc24abfcb0e310c7458d0539b704e7a771ad00853bd3a1844e4e6f82 1c13662ef01c88f1cf057d099eb46524036133e51a0e36ddf947f727ac6046bb
-lib/codeql/rust/elements.qll c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196 c0e6bff934b1925ec03e55afc2b5b9127f51dc4a613e047e687bc83cdab4f196
-lib/codeql/rust/generated/ArrayExpr.qll b9778720acf4080c065897ba1471be185c0c35f3ea01c15594c0a3ee4029b231 cbc8c9dbcb805063c4b893e21ed0bf00312490a0c92ee126d49dbfff6978fa99
-lib/codeql/rust/generated/AstNode.qll 0598fac7859906f4103124270dfb2fbdb838387b1c45000bf50a4b62c797ec41 f47c84878c7c9676109e358073bddab92a1dbeb4d977d236ecc1eae44d81c894
-lib/codeql/rust/generated/AsyncBlockExpr.qll 1e9d3bcd5d5703bf61748f2746d3f9a4e2a12080268b29a2685b762d13c30555 1e9d3bcd5d5703bf61748f2746d3f9a4e2a12080268b29a2685b762d13c30555
-lib/codeql/rust/generated/AwaitExpr.qll 4b5fccfee29fe28dc85df19b4e6677bf565dacba92a0984bb7ca444650852970 0c0be7ea53e41c7708aa84b93d037fa9df2f72e5a676d78e217ca006f21b548f
-lib/codeql/rust/generated/BecomeExpr.qll a4cde707b7372dd4c48f9b4a450b6ea710085f323878fc17c58f92cf7d50fef9 44f0fa714080eaf6dfe9fecc422b1aa161375b73eb5536ef8bb40b793d8f48ab
-lib/codeql/rust/generated/BinaryOpExpr.qll fe0a286df10f5eaaaba60c74dfc5ef2c17736f24aadb718271e8a17eae736ba1 1f13e04bd6089b956db807e5e0ab974382ef7b5a7271f290a7ae5f75a857a30c
-lib/codeql/rust/generated/BindPat.qll 15d3a33c5f56f7659a331f72735f00930fddd6066659e54c5c19d5e7eb8ef078 bc0a916622b2c426b71760caf15b8e005eed276e06e04d04cc5f19f4c31c34f6
-lib/codeql/rust/generated/BlockExpr.qll baf05a376d4c65505d3aa52eb893e1d8d02a8ef8b16bb40d4a59ee10c7d97b5f 789eccc236d0b4d3adf3dcde699a5f3097d333514455776f74b9184aa14fddb0
-lib/codeql/rust/generated/BlockExprBase.qll f651ce968170b6e05e555924f8004d55b85ff0ae59bce4fea0804691cef0cf66 6ece8056e83d047fc27cdf1110fac166c0d1ba0e26a8d4a7a7cffc05bd6b3b42
-lib/codeql/rust/generated/BoxExpr.qll 880f550a9a6c861efc6310a72830a50bbfdb11982e99f11b5d3f4c6d1fbe826d 380f021014738c86e5745b3320e65a8147ceb30511aa51526a7fab4278a1ecdc
-lib/codeql/rust/generated/BoxPat.qll b69ba2bc341a1bf4c613279e45fb97a530619d4148d5ccc4f05436a316db29eb bf52730243bd1836d5890c745232aba50544c2046d00e80e7d22eebcd104f821
-lib/codeql/rust/generated/BreakExpr.qll d68990513e0b2c0021cccebcdc7dc9ecc1d5b5c7dd0df7014686d6ed8a909940 36875ae186581f10485c1c846c9f6d2bffea3b18375b7f05c2927ba23f08b6ef
-lib/codeql/rust/generated/CallExpr.qll 3e29dc45480e3be1989c364bad0ff94deb322cff20e87a3378fc1a7e11237d61 3873462b8811c3e3ef92700045ed05f55869d320ac74eb72111776d3353095f2
-lib/codeql/rust/generated/CastExpr.qll 6ed07afb453706874d7ae7c4bb09ed35ffdd11e7aeb4cbef4d84dad11a203d0f 741d1c0ff092dc9273b0d588aea6b30f7e2c1c5b9d08f2c4722fe26c2cab33ab
-lib/codeql/rust/generated/ClosureExpr.qll f0c7ce7aecc9da9663cbda3e285be73b23464f8baa6b966fb5aebb0bd0f0aca6 685d74b6a94052fc45aff83b7c525a83f9dfcc02c1bf7e7f7a0aed51ce2de945
-lib/codeql/rust/generated/ConstBlockPat.qll d0818fe4cee066f1e6d3439c82122942ae62941e69da686b7d5c399e820c395c 2fae5a2f0457bb7106d52ac7457afb597d7ac9658b8dcff8e76294f5fe34019a
-lib/codeql/rust/generated/ConstExpr.qll dd851fb049429fe965569beb75957a6a596137b333a6cd7cd588d1c4d40412c4 824825bc46a393827d5df5ae30f622ef2a053ea1f5e338c3b957625a8542cfa5
-lib/codeql/rust/generated/ContinueExpr.qll 436847767d2f68f95d011df0eb8a175924c029ac747daf620a203596479b20b3 e362f28dde0bf3e6ff3b234e81a44bc5026b4c9ed38b8b7872954cca9565eece
-lib/codeql/rust/generated/DbFile.qll 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a 4dbf1931124291e0d6a958ae882f8aeef006642f72adc7ff86cffd3a4e9a970a
-lib/codeql/rust/generated/DbLocation.qll 735d9351b5eb46a3231b528600dddec3a4122c18c210d4d632a8d4ceaf7f02e9 735d9351b5eb46a3231b528600dddec3a4122c18c210d4d632a8d4ceaf7f02e9
-lib/codeql/rust/generated/Declaration.qll bbf5ba3792797a829b0032c41fa99d22c26e4277d655099912cdbafb80f0c8cd c4666a71099b21ad5cd83ef6f991ba18f9bef03b3ffbcedfa10aec081d6501d5
-lib/codeql/rust/generated/Element.qll 21567fa7348dccdf69dd34e73cb6de7cc9c7e0f3f7bb419a1abd787f7dc851a1 21567fa7348dccdf69dd34e73cb6de7cc9c7e0f3f7bb419a1abd787f7dc851a1
-lib/codeql/rust/generated/ElementListExpr.qll 3f7e9c1f7249f7283406d2e59b00af750b6dea93b284d7f25af66fe4b3345fea d340242d6072e274fbafd6ff2a5455bf53b3b77ed91539e91563d67cf2ed48f0
-lib/codeql/rust/generated/Expr.qll 32cdd43d17e8b2fb7c73ec723eba89704d1e853e29d304db5eea3979fcdd2e0b 0b8382b0659afa1bd1d13d0cd492d7fbdc0fd7a5162fa658ca2973bc15ee6534
-lib/codeql/rust/generated/ExprStmt.qll f35543fe1481f768eb8abe3fd0d36e2dedf00f0d1adbc31562e6280ef291d0b6 0663097b4b539c5f35dab9b26ab55baee879c7ef543810581347a8951aee46d9
-lib/codeql/rust/generated/FieldExpr.qll 25dd7f15ee3fe1b0de4371cab9df83d3713c1612501e5496c9a15df8d093a755 3c75b0136d1849f6de1bbd14bda4285c52d51c8a6427984c7e5302c05d706e99
-lib/codeql/rust/generated/File.qll 2eff5c882d044d2e360fe6382fb55e5a45f6ccb9df323cfa1fae41eae9d2a47f 87e7a906b3a1b4de056952e288ddd7f69fa7cb1bd9dc7dd3972868a9002ac1e4
-lib/codeql/rust/generated/Function.qll 84a00eb88479efdfe70fe51c3b5cb27ae64a54b48dcca1f2e02f68691b7d907a cde5b965ab27e811f0d24eb4f12bca90c3e8aec3a4c1d9b8bd0023745dfab105
-lib/codeql/rust/generated/IfExpr.qll 7d8e5bd93bb8eda6d5d6551431b0389a2ec5893bd8c13276205d6677856c8341 935bf1be8f790a52e71a6a28456f2f1a5c5cbe6e64bf20fa8602980560899835
-lib/codeql/rust/generated/IndexExpr.qll d44004268aa2e7d79e29133eb593d748beef1d4612318ef469220b3c2252a057 86892c04c59936d33f0cfd5272a04a6ef726f477c2e8f4ef27dae7240af9c804
-lib/codeql/rust/generated/InlineAsmExpr.qll 246c4f255d963f20c8e71fdbd16b4555cb6243820da1d399543205010368ccaa 1ebe22203305195259963bfb90f9928a4255cae993067f6a6fcfbc62069e1b1a
-lib/codeql/rust/generated/ItemStmt.qll b4d2a06fdd00ea90eed2742bacf0a5781b8ad69e24df794ec075d7305220afaa b4d2a06fdd00ea90eed2742bacf0a5781b8ad69e24df794ec075d7305220afaa
-lib/codeql/rust/generated/Label.qll 7de504ea71f2847e305ab5ea3b30403cb0aafbaa0eb4cff3956a2931da6c024b 61e3c6a74b573aadcccefe0d4abe5d8e2542b1e5116c95f4e595b36efa3a86dc
-lib/codeql/rust/generated/LetExpr.qll 896efc732db1ddc8be7281408dfeaf6f04f29d25ee1240738246e0cb31dfc2aa 14d5add4367164f4aa994cd2ae006e8b5918265dade20b41f363daf9537c6d7b
-lib/codeql/rust/generated/LetStmt.qll 1f8fda11b71689fb1a1b9b25a2ce046c56f36f26cddb354805bd395a03e4db3d 80ad6ea6afb1891a02db434cfefdb95b0fb7d766af6246ff27129dc15cb48ace
-lib/codeql/rust/generated/LitPat.qll 92c3c0f32ab9d5b08e246231e5465fe18536dee99351f73e158048bb007baf8a 6736a7824e5bdb0cc16de1231bdb5169d2f48251d5917bf2c31a36422b0bf2fd
-lib/codeql/rust/generated/LiteralExpr.qll 9202e11f56a2c5e99fb98ed784c7ca043c1f5d80680b48ba4ea340dd689ebe55 9202e11f56a2c5e99fb98ed784c7ca043c1f5d80680b48ba4ea340dd689ebe55
-lib/codeql/rust/generated/Locatable.qll 9e9685bba50ad2220701f3465e63af9331f7f9dc548ad906ff954fc2ce0a4400 78c89b2cc78a357d682ab65310dd474603071f07c1eaaab07711714ce17549f2
-lib/codeql/rust/generated/Location.qll bce4c72988ec6fedd1439c60a37c45aa6147c962904709ef9f12206937174be4 d57000571771a2d997c50d9a43ef1c2f075960f847effa0e80ea91fd4c6b4d6c
-lib/codeql/rust/generated/LoopExpr.qll e9304e282a97984e147b92ec7061c98fde238a8691e945e4cb775ccf34c27b0c 65b859e44e83bddb710d4ce9e5ab1346b98eaaa46509671776b75c9e8f1c1667
-lib/codeql/rust/generated/MatchArm.qll 5ad0dc254b6d58ccd856e4235b68ca0226a898c33f1f6b6fe7b48266a01ca627 f519af39f45e820eb3a70cefb0e4dfb541c3cf17952c00c6dd7e59f854a629bd
-lib/codeql/rust/generated/MatchExpr.qll f8b422699337324c91ec9c55024630efe114ca617f4f088a18d180df132d5754 13169bde872f533f55aa196d7150761857c593a4657ab34051346dde14e736c7
-lib/codeql/rust/generated/MethodCallExpr.qll 499fa4c78bafbb8f3a6af645c26f1645c9a634976d409493d26d82dddd4b42a3 2dd18cb4868e96e38383c4ae3f8777637422e90b2363bb533f0e9e1c2692dc6e
-lib/codeql/rust/generated/MissingExpr.qll 90b164567620c88b8e258fa229633365400abeafa4f4b0fcd1c856efc2f9b206 90b164567620c88b8e258fa229633365400abeafa4f4b0fcd1c856efc2f9b206
-lib/codeql/rust/generated/MissingPat.qll 0d8034cee20bacf07ebb9337c797f53a25686a149f163f801916cd6ec5484710 0d8034cee20bacf07ebb9337c797f53a25686a149f163f801916cd6ec5484710
-lib/codeql/rust/generated/Module.qll 2a931a4f2cdb2fee00ed83af045ea63d36b7dbd708e58c30445b5610feaae333 cd62add5c31a509f965aa294f44a1607ec7c62e3a9e3fe9ee063b3c814f4eb62
-lib/codeql/rust/generated/OffsetOfExpr.qll 58dfd632efcb48de7fe6ffbcb2192fcf95bfabdb407a751133f63a0e32ae7489 21ebb1b3d66849fc21c04083cfa751eb56c55809cd52664020bd61ccfbe5ea68
-lib/codeql/rust/generated/OrPat.qll f8fe5c7b83a08dabcc530484a696274930040ea13501ae20f1426faeec67bcf0 f3adb3148890531b698570a48740335983a5e81977ba4ac651778f940f184398
-lib/codeql/rust/generated/ParentChild.qll 956f55ac17d66926c59f76d391b75c30767d236b145d6ae402f4308fa22a7d01 dd3cabb5b4a9ba42be60345f445cde18b0d7be934aeb94d7312eeef122e148d2
-lib/codeql/rust/generated/Pat.qll fe1c72856442dbab5655eff93f86c2cbce8d69d9fa1f99a0f9203061ea1112a4 d85d86e8b6c48df733589d186f610b1cd9086629180701e017774bddc62402c7
-lib/codeql/rust/generated/PathExpr.qll 3664ed2ad08097e4446b0fdad148118c754f8203541ae588d967ba9d79b6bf21 0d987d2358fe9b42e57585e7ae906de80e9f4ccf7c20e1d9bb7624ffbad96941
-lib/codeql/rust/generated/PathPat.qll acc4dda795bae97626a8d0041538f3ba1f0b591c743fed381cf198a8b04653cb c3deee1b3bb9bd37ae3ed4761d8ee2f498384fe5e1f5e31c0f9b99dfd864a0d5
-lib/codeql/rust/generated/PureSynthConstructors.qll 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573 5eb1fc4f6a04172c34ae31e4931e4bf1f8b72fbe414c5f644731a45372d13573
-lib/codeql/rust/generated/RangeExpr.qll f499d8c1f260d6262a55c1f3640aaee832ed8c9aac922cb2e05fefbca4509053 a01563640bc23fbce9d33da756bc209fd16155dc76a7fed4ba325979723f48a5
-lib/codeql/rust/generated/RangePat.qll 6ec95f6cb9c4bd93b38990bb1e3b89b526624305ac6ee7b94e6fb0a2f3db28fc 0e193f3816a7587d5103dba421bc2bf22b869522353d4e3f43d49a792eac6cf4
+lib/codeql/rust/elements/YieldExprImpl.qll 745137fe68196f5a82620f1e2ee4e51c4ee0b4e0eae354419518b3a824aebebe 9df57d4b1f90355c1ad97d59796c3aec92474d9ad7882b13604f759e281238ae
+lib/codeql/rust/elements.qll 2747b4809d3bc2fe76459cee5b6142a5062ac0821dd6936b93e245543098dee8 2747b4809d3bc2fe76459cee5b6142a5062ac0821dd6936b93e245543098dee8
+lib/codeql/rust/generated/ArrayExpr.qll 06eb6d5907d07bf4e0722070185f285995e495029df6e88729d486898cf3c2ae 7accc896c871cbda4c967465143f6d17892d6b7449e44696d8c5e9da59587f29
+lib/codeql/rust/generated/AstNode.qll a0465f0c2c7fe1c0cbf5d17aec71f5675f00d06573452182e30dff1041a36dd6 c1ebb30783e4ce7fb20e124dcd9adc69e287f1c23be81301df8ef29d969b1cea
+lib/codeql/rust/generated/AsyncBlockExpr.qll f17bb5d7f94737129b36f3f6bb0082fd1d72fee641de657cb7a6d544a021abf5 f17bb5d7f94737129b36f3f6bb0082fd1d72fee641de657cb7a6d544a021abf5
+lib/codeql/rust/generated/AwaitExpr.qll 005ad520ba8bca007e952b91e57486e79e0dc94b69d0ca9e91f8445df0154f88 708f053a38685190181f496c2acbe1974283dc566b5c30163a9ea61fc308443b
+lib/codeql/rust/generated/BecomeExpr.qll 0e7dc03ff76a787230db08b5bed7c7a80bdaca24717f87c8d69f634a88f2f24b 9a5a0649a7f1cca8aed96262ba1e2f939a271170b8ad8bf9a3547d2b721092d6
+lib/codeql/rust/generated/BinaryOpExpr.qll d566edd23be0b3c24d2364f720fb47301f4181b7970b08c65eaa0d8f22db2724 2dd762a8b04bbdd05cfbef69fc0d7636ffa9116f439a28ab22512fa07ccc8315
+lib/codeql/rust/generated/BindPat.qll 9a7f40a9655d6bf2ad9de6f8f484437d306fe2a099e0e1fac201536b3ad8c649 1b4398216a2245a53576afa19bbe9293ab979682467504edbc1c0a1010fe9692
+lib/codeql/rust/generated/BlockExpr.qll 8ab03820db361ecd25ef63cccf4335169f38db9eeaae1a53280d65de8244be18 0f9a65f7d2e4c246b56c9efe12d6476da80be85217519837c22022442dea1cbd
+lib/codeql/rust/generated/BlockExprBase.qll c7696e455157906004bf73a267b62bb495cc9e48722b869d25fcec861315c94a b55bf47e952dc4b16ac5206f154d8c152da6ad6c6b19ea0334cb1e351cc8e3fe
+lib/codeql/rust/generated/BoxExpr.qll d66e36b8e066884a88ad5ca0877395fc665c9a165f85aa794438bccff16b2cec aaf87f89bfb9f25da2416f3464224b3cdd76bfad2386f9265c6fe3047435b9bf
+lib/codeql/rust/generated/BoxPat.qll d0f67b7219151d291bcad0695ab7daf16643a56a4034f7dafbddbd35dde9ca5a a5c4ebc661b832bdfd7ffafd1168abd929117ae67be728b7f6cca9993a319545
+lib/codeql/rust/generated/BreakExpr.qll ec57607af4bd7052cabf3d3f29edcf3e27015827e4fe68acdb69c09ab43bcc3f 083e8112a036188c381b7f41941041f468f16dbcd2bc6c5e8cd4b91b750cb39b
+lib/codeql/rust/generated/CallExpr.qll b32f2269528ba6bfa8f376db12668f64f2e291dc365c0e83a3298b776b6c25bf 3c41ba30cf91c20ba0b59b461cc53f0a30681bdda18c8f32f9a6651f3751d5a2
+lib/codeql/rust/generated/CastExpr.qll aa55a9aa2e28108ddac8155c8d931189690d0c3e50c1854ee6d7c7f24d04b639 22409fc8003e99cee1849d3e5b93420a2a5945e978b77bc54069da2d7f223b4e
+lib/codeql/rust/generated/ClosureExpr.qll 0e4838734f1fe8c8e819f1b207b776687bebf8a3308f4d045b3102d60e9f81be 26521d225f73be8eb063e12443d407d502ba1c983bd2385fea5627702e8d24f7
+lib/codeql/rust/generated/ConstBlockPat.qll 91a52db9c1b672b6656a721cdc34e404efc18ef8f2ca08bb70a194edb6631514 5edb59ee48c3e2c79270078f99bc9b73995dd49d381543a4fdef7aab476708b7
+lib/codeql/rust/generated/ConstExpr.qll 4aa31c1772debc7a3f9d5a887e8b76e0dda3034dc3554da2eab98b9d20e60ce2 aa671e1c74564a7eb73dc630bfd87acc031019a9d7ff5a3e0a24d48a242deff1
+lib/codeql/rust/generated/ContinueExpr.qll e3a8ff8e4fa36f24c33866d4831cf929a68ac5a37d5a10d508eaa6f0fa5d71da 54ffcf53b0a87e6a79ec673ea9b46e1a0074e65bd86db992e5a01668150a8e99
+lib/codeql/rust/generated/DbFile.qll 3511dfef669024663df5e647bf10f6b1307d0bd4992a0abbaf3d468f8f15c58e 3511dfef669024663df5e647bf10f6b1307d0bd4992a0abbaf3d468f8f15c58e
+lib/codeql/rust/generated/DbLocation.qll 8e3539697e889674d2c51319438513538b2d9e391e8cc8efd82c50643b2843ce 8e3539697e889674d2c51319438513538b2d9e391e8cc8efd82c50643b2843ce
+lib/codeql/rust/generated/Declaration.qll abd73abc62b01b0771101d73832f6c22902fcd92f494746bdb35bf15b0a2da78 93753542bc400bee06c1b2c132f57ab962bd5eeb834a7e70d56549c2f85a909d
+lib/codeql/rust/generated/Element.qll 9fc3aba465de4b0c03f96d457e1410deb6525973fc1673baeee531f6f2b42f97 9fc3aba465de4b0c03f96d457e1410deb6525973fc1673baeee531f6f2b42f97
+lib/codeql/rust/generated/ElementListExpr.qll 4930747d7b92534a4d1f22bfa88f07ea67ce7f738a8956063f2851a700503d97 2656569f1fc0e371012b11c9ecf42488ce84be0f59149a0992fd31d7b31c4351
+lib/codeql/rust/generated/Expr.qll 304dca2830ceeb8d477162fdb03d1125c5fcda47542fd2479adf2d2b3d290ef9 d617b747bde3ea0ff3400785977d316c382aaebca2016dc894ec87704a2729cf
+lib/codeql/rust/generated/ExprStmt.qll 22413b28368d902256e2037d4879eeac9d5924e848151ecead9112678ca8891f 9f8feb08c5d26547f7886087725c3181fead6bc122cddcf430a45b7d4199b9ec
+lib/codeql/rust/generated/FieldExpr.qll 213555200fd9665dab1ed9a5f2a0bb6eaaa47f6db726ef7d1120318ebdaad682 c4de9d5e06b68ad275c894db6a766bf5a31e113636d43c945ece9cad8ee273ea
+lib/codeql/rust/generated/File.qll 9daa7991dbec6faa2401fa2e433029bd99136900dccc690112a54a9eca333939 d19303332b10cf7ee76085dd6257d0dcaffa984c75ff5e59d2053856dc0eed84
+lib/codeql/rust/generated/Function.qll 684b30c4687db37b9a4d0273ef8518d87a72416c6c7b0340751d8d2df72d14f9 a5eb9d378d120379158bc2cd6685a5723a82a6f439a3e4c0283a30f41e73a301
+lib/codeql/rust/generated/IfExpr.qll ab6ff6fb557fb98e999089669adee24f17c05b6fa5a91f697684bfc7e67bc6d2 3a44e1006c2baa6686ff1006b14508e35cd56475d99f1946dbadbfee1d97ed76
+lib/codeql/rust/generated/IndexExpr.qll 14c1589c20d25d10bda1175e8b43ed02d43e85480b27ebc094bb2136f6bacd6b 6d609e3cb450362783a63e49f5df591424ac394985b4115e628c6037df85c481
+lib/codeql/rust/generated/InlineAsmExpr.qll 2c11e275a786f89e412e032bf845eaf71ca9d52fdc7d89f4fa479def8502912a 9758987e4b0dfac99ce49f5dc0636947c651cdd9bce699e9c37420db070567e8
+lib/codeql/rust/generated/ItemStmt.qll e6c855b127d263ce117cea8e6bbbb144f143084d2f8e827ac6536238c6863270 e6c855b127d263ce117cea8e6bbbb144f143084d2f8e827ac6536238c6863270
+lib/codeql/rust/generated/Label.qll bd098e9134e771e42da320ff245a9b6689e0ad33fabfc4d68b95a1d3012c6a36 a471951362c90e171b1006525618719ce4e2093a1a423892d8104207b591df1b
+lib/codeql/rust/generated/LetExpr.qll 04b764cddbef621cd51ff5b7b3b23b9efb3d6107718a326c4422a73989a94bf4 06cf9217b6f5d8c7f7cb3c9791dccd4bb544e591380c085abc0d312611a84240
+lib/codeql/rust/generated/LetStmt.qll 01cda88c2a120e50acb31d268843e0003a2bb1d228972cfb2404e9d7adc8970c 94c00ce98878ead1dc08027bf58a96488f8da14b64a5aae76cbb4eca392f412f
+lib/codeql/rust/generated/LitPat.qll cf92f728ddc6be77769970ab7360a30e315d1673586a33f5bdac83a92745d04a 45781769cc121c48a16771ed811557c12007db4ec5ee1de69d40a5c233be6285
+lib/codeql/rust/generated/LiteralExpr.qll bc155584db1a0eb3b7ca8745939ae72dc7bba43ab8a1cf222eb0f363fe437f6d bc155584db1a0eb3b7ca8745939ae72dc7bba43ab8a1cf222eb0f363fe437f6d
+lib/codeql/rust/generated/Locatable.qll 768f1397c331a160be654d705cdeec4b164d8e5ac8e620940fef6c7a0c14b87c bc1419ab7d57d71e0f22f4a6db6296b0198133c6be4e57418f5706193fab393c
+lib/codeql/rust/generated/Location.qll 129c4083b8f2578f0bffe122ebf31a7fa507948c778608eb9f07e2598824883e ce194e60b044a9bbbaba586222f0cfd55a18939457205eb0875475310ccead09
+lib/codeql/rust/generated/LoopExpr.qll 914aafd8e4073db7c2e1e10d9d19b63ee25b3b2012300bafa348c37e0bdf3a42 015b4a0c6fc808e681afed94669140b44a219d89bf7a7504b4cf4933eef299fe
+lib/codeql/rust/generated/MatchArm.qll c7122b610485c0ac49f0973dbc0a5ccd136159e4ba10ef3c4cacd6d398c516ed b21033ffcb1cd28e9cea46c9535dcb291bdb6c106c7bdd9dc3bc752b40620aef
+lib/codeql/rust/generated/MatchExpr.qll 4452c55cb47a0cb9b5b8d7e5306956ad5be4314e91d4d984452edee36801f1e4 de604b094de783b377a58a9de9ec8ba532e3b190f631d91e0cbc738bf2f1d880
+lib/codeql/rust/generated/MethodCallExpr.qll a75239fd021512fd5ef55234a9431868405a1399578a0a313adb5af990fdf1ac a8cca6805bc6731a2155391dbcffc1bd95ff18fd379dfac2762f1a68747167ff
+lib/codeql/rust/generated/MissingExpr.qll d87f19545ffa8ecf736fed3a0e4b96be2f22d3a993a8e56ad7effeb14c4d46ea d87f19545ffa8ecf736fed3a0e4b96be2f22d3a993a8e56ad7effeb14c4d46ea
+lib/codeql/rust/generated/MissingPat.qll 5f06f786ec75610bad131f6f7539e5f2d54686b45b16db6822519a5e3160f4eb 5f06f786ec75610bad131f6f7539e5f2d54686b45b16db6822519a5e3160f4eb
+lib/codeql/rust/generated/Module.qll 630f11171e6aee7dde117bc92f56cc53df35b9c1f76d00fc875a1295c757452c 4a94d37b5b09a00e60b74a91d1c1a6b7af51cb145605bc17754580d348e9bf3c
+lib/codeql/rust/generated/OffsetOfExpr.qll 1d530d1dd0bd212dc6ff1cc4109be6b50562959bec1fb1de96a7298381bf113d 7082db8068045145e30d9b917e4746f290a7d9068996edb43877da1d10b292a0
+lib/codeql/rust/generated/OrPat.qll 5850fed28d6d109d066d45f68f7601d1ad252ab9cb9b4f8420858e7a78b6ff61 d0e199d439bcae5377a492c7ea336334005f02f270843497bcfc10a78be97edc
+lib/codeql/rust/generated/ParentChild.qll 2f8794efc62c626b456635cc892329cd44c5222240d7ec758d93f09ec817af76 69c85b9ee02ab180f9aeaa1b1c679f283c41a8dca79f4df050539a17ff866a4d
+lib/codeql/rust/generated/Pat.qll ff930893214c880ace7dce21d803d86694c3eb32094b4b477680306c6fcfeff4 e0eedab207434f71ad7d7342d9ad9327760a3962613723d1c38d22237a9e2a75
+lib/codeql/rust/generated/PathExpr.qll 5c9bb901b0e99659d185cfe899fa314aad09ceaf231a10d5b8939d24d89088ad 8b5a240c90fe234a178192654652e324017e5ed446a1a2f8de1364b47e3d38b8
+lib/codeql/rust/generated/PathPat.qll b5c5c6d9ec4dc369ee599989516e49f84591588dd6972ef992547b46236a3542 675c0f54f3c7d21eda03f9af2fbb3edf7816157f696fbc2db931df0b11649afa
+lib/codeql/rust/generated/PureSynthConstructors.qll dc03515d678ba052c2ff2dd9f0883e0bce54cac740ba9a15e5173f292c1b6971 dc03515d678ba052c2ff2dd9f0883e0bce54cac740ba9a15e5173f292c1b6971
+lib/codeql/rust/generated/RangeExpr.qll b114bd629fa7951d66762103e79a940392d14ecc51cd5cedd3794afae15e0101 2f5cc100191281e93f2e175f0550e0411fdbbcaf079028f365606ced1902c637
+lib/codeql/rust/generated/RangePat.qll 44f43662e54e8c769c18cb9088acc8628b98f89bd1aaa3bb8946b7f342163db8 4107dc5cd94b0190a8aee49be1ebadf00541d450cd89ee042c6110a57309f17a
lib/codeql/rust/generated/Raw.qll 48d1e7d642bd2a7605dbafe3929c558560054a4e4e3e4b36925a8bfafb7536b9 3b881e64127e9b41fee7e091de725f5cd1cb1263e4a52c02adb1fb339fe36c3d
-lib/codeql/rust/generated/RecordFieldPat.qll 26bed2285d849b9b7ac52d86131eacb40df912db350e423e81fb98c393c08a69 05ed735aecee90901a1bdfae05d9f85d7f6581616eca3a9262fdef6673222f9b
-lib/codeql/rust/generated/RecordLitExpr.qll 1d3264446ff57e8b169f1ad6da150b2d457d6b60eda0ff63e2353eb8ef9e9113 f523dd5ce7f4bac0aafab7b27c6cfe766c72a9ee0c92d7a263347e67edf096df
-lib/codeql/rust/generated/RecordLitField.qll bc704b56a986f3a399dc9c3dc2b61cca0d40cd389c694b9fe13374780835ffcc ab6b05a87f240a97cc2a8c15bb84a1338ad33ce367619125a8514e8815fd050e
-lib/codeql/rust/generated/RecordPat.qll 5fd26e95dd23b07a847bd28c95a4206df62f7cc22c8d7b3bafa10e902e917d15 e264a96c2af4e2f64a394a119329b8b376d4b23ec6a3fc6d123c5631845bc4ef
-lib/codeql/rust/generated/RefExpr.qll bb37b8bff64b0cf1f18de297487455692311b2006c45161f25969e131359c60f bfbc2b67b2b2ec66f3539e4972a947946b29e0ba527042593060eaf6b21e28ad
-lib/codeql/rust/generated/RefPat.qll 3525331e8ba25a8612324e860423a39ddb29e8eb50a9f2bf62e49bf182d64b6d 804efbd32869f92e5515d34852fed6416288f99b0aab95b5be5cb5bdd1eea806
-lib/codeql/rust/generated/RepeatExpr.qll 43aff00e966e4550179d756489e4cbc30618d66c93c13530c45b031b9513b915 b91691445e6f7de67d61c787f41b36a383cf36da1a216c18767ac1d2ce5db34c
-lib/codeql/rust/generated/ReturnExpr.qll 6160f3a14ff1cbd6a297edae015769f90e8e31201639828d8a9d0d6e38c1ef99 b8c8a12f78281e558d230c6959236780758e9645fe22aca697b948535c20f9be
-lib/codeql/rust/generated/SlicePat.qll b4de6692eebf1205940e04da963adc20a07b15923c3c3a7a512a24e3bd8342c9 ee9b919983807f39d97cfe8ca66b76bdbfde76db02db5c93268ce22cbddf4213
-lib/codeql/rust/generated/Stmt.qll 55688c8f42f6e7fd1b871e572d75fac60d0543e38c4be4638abbb00187651d3d f978006a8453137f989249e849a7c935a090da3a9b0116145da80068760e12fd
+lib/codeql/rust/generated/RecordFieldPat.qll eff650a71af0df66423700e5d33c36952d51a9ace092639f791c0db65c4d958f a5657d709de775ff3dee8c814d44059f049ec6eb518db5b13a12c2ce52a3ff3b
+lib/codeql/rust/generated/RecordLitExpr.qll 68a07c63c57eec3bf05f700e8d7135f74156794a584ed882a6e6b3e99c78c76a 290e8c60a60605d814e586d5ffd8f6ba010e55e9e609613764d6e2718753f552
+lib/codeql/rust/generated/RecordLitField.qll 9dcda00587089fa69816cf99522ebc2315b528082dcceb7269f674474bdaa213 415926ba3a4b71408b358cdb90abf44ebe4eae89625832a49b84e6f7e3dc9887
+lib/codeql/rust/generated/RecordPat.qll 36e3d98dd5292f76d87f1823a4da80514441c958d981388c4b9f63bde2290aa7 d852349cb62e77b1f66cf5ba4cc008966c5ae0c45b59891d2e72aedebe16e4f3
+lib/codeql/rust/generated/RefExpr.qll b50e732bedd594a095e951ee33a38b5ac4bda86ba27d7304c3a4f86c7cefc09b 083e20206aa4b525f3696c0f72dc69b4a75c607c1982f1e0fcdd21f6f6896037
+lib/codeql/rust/generated/RefPat.qll 740c7fc012abe6d01a9da266aa8d7a28650bf1291801a8b00e932b252ce62314 d57398ec975488f47e29694297ffb191671dea04ead9e229dc67dbc03a50543d
+lib/codeql/rust/generated/RepeatExpr.qll 5595943bc2907683c0fc58a56edd617732200e7be6a59bc075e25a2146007e19 8f89cc0e7770a6af3cf68dd6bd7d1209635ab2fb4579fcbbc3ffa2d4e179af43
+lib/codeql/rust/generated/ReturnExpr.qll b53a3b8adca0655ca61bc97472891d12d2ce7baf073b78ecf2f84b0bd1d746bb 7809abfa9cd44b2715860490a64e0e0ae14ac79b600a267615126c792b621577
+lib/codeql/rust/generated/SlicePat.qll 6bd60a0d00eb735430aba9a2b703022a7637f4047bcc31ff4f92240d948fd1fa eade91f8bd2b1437bd28ba346fc65cbd300427b6529ceab9c4b4ee84cef10790
+lib/codeql/rust/generated/Stmt.qll 3c5aa5e9156f57d5883c8dd0f240b44d935f81eaae410f416d8804f600c2404a 5447d1936f189e68ee84603cbe4f64baf090d1c5b49a62f05532b6b60ee2cebd
lib/codeql/rust/generated/Synth.qll 03ecd0d7e89aca555d2393bbea8de1cde0476e28fb9f198ed3355a74f1b5c1c8 11855cc446c2d8a77503795a7c395e86ff149ea10d773a6e50e54b08dd438642
-lib/codeql/rust/generated/SynthConstructors.qll 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b 07106a119dcfc7a839454d1fa66c0e65d6ab17eeace40cd5bc857a65dc7c859b
-lib/codeql/rust/generated/TupleExpr.qll 13e4dbc1afcabf388c793145cd399789f4014662f2eed1d49cbe96eeb8355413 bfa0708885c120bad24e29deb29641c69a5e5361654f3a144ead9543bfbd7197
-lib/codeql/rust/generated/TuplePat.qll 23911b2ac7ee2279df8ef40a6e447437ef0ed62518504b17874a7652bf5e3f4b fc4f6f7ea40754290de194ac55939f08549bd637104baf8dc84ca3938bcbd1f1
-lib/codeql/rust/generated/TupleStructPat.qll fff004cce780501eac94fe4b146619a84e02c85cae12ffeba5a4058e8c9738ea 738659f8208aa65d1d8cf601e0d92a90a890d6cbaec51cf04c81fc75a827e30b
-lib/codeql/rust/generated/TypeRef.qll 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533 7cc468c2f473ee13c11a97c4360100376560e8fc42f25a136f1500fe31a31533
-lib/codeql/rust/generated/UnaryOpExpr.qll fd55d4bc9cd1a49d1f38f02fef16771f29bb5fb2512abd18341d56665859d18c f271ef5036410c018f48d6f15b17cb9beaf4111a42fc638ac4ed3db974a5f870
-lib/codeql/rust/generated/UnderscoreExpr.qll cd7f615e41562b80d89e413c1c808048da7746fd445f0eb6ad8c5d9996b44d5d cd7f615e41562b80d89e413c1c808048da7746fd445f0eb6ad8c5d9996b44d5d
-lib/codeql/rust/generated/Unimplemented.qll 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113 375b7935b7f4103728ece3042282ae82d19e471d7a9fa58c8cbdea31ea0cb113
-lib/codeql/rust/generated/UnknownFile.qll ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595 ec9d1a3f15ecbf1743d4e39cb3b2f217aa9b54951c93302c2c4c238c3f0ce595
-lib/codeql/rust/generated/UnknownLocation.qll a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf a19e2838c52d702d268ae530f3dbd6fcd8bb28a237a52636a960f225454103cf
-lib/codeql/rust/generated/UnsafeBlockExpr.qll 8464597373ea46f6391394f02c4ceb93ffe8441b434e6e71907b0a3369f72d8e 8464597373ea46f6391394f02c4ceb93ffe8441b434e6e71907b0a3369f72d8e
-lib/codeql/rust/generated/WildPat.qll 8a2cede00ac2941cb94e294ffa81ada9ae6e61d8d8a720ce4f288740345802f8 8a2cede00ac2941cb94e294ffa81ada9ae6e61d8d8a720ce4f288740345802f8
-lib/codeql/rust/generated/YeetExpr.qll 2b37cf55ec26958cf226885e99d81c8bbc6ece69fbe92d9fcc8884ee0bc4aad4 e371531507311ea8a9fbaac74442fe9994ae85f0acdb79cc870e5318af52aba9
-lib/codeql/rust/generated/YieldExpr.qll 70ca98e14b24f12a3cbfe690417543fdce45b162f241834e2f7f58543aa11bda 40fe1281107317a7d80c7141229eed9c6904805dff615dfd0141ede2457e2c57
-test/extractor-tests/generated/Expr/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/File/File.ql dec43be882fad904fab0c6447ca93633d801cb08ff8bec309befde7d2b9e5dda 74e1f1d698558c35fa03935cc34f4c8145d376b56d7657b18aeb338f5ca752cf
-test/extractor-tests/generated/Function/Function.ql c49434420dbb6fc3d9e6294161dcd3d3b306fae5ba5c85b610e534b8b15ef74c fe02208b673b74eebed92b5cbb3a8a06c31c0681eb28f3e596515663f14fa9e2
-test/extractor-tests/generated/Module/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/Pat/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
-test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e cc7c395e7c651d62596826b1a0bedf10f35d01b8afeef47600b4ddaf804f406e
+lib/codeql/rust/generated/SynthConstructors.qll c12754f385230c8fabc5ea99e74e226eb547e54f0a18e847edaacc294d9ebf30 c12754f385230c8fabc5ea99e74e226eb547e54f0a18e847edaacc294d9ebf30
+lib/codeql/rust/generated/TupleExpr.qll d75aac4cf054e481a0c003cd2c05769e0b3ea2a8ea14f062a36b0e29924a1d17 c6b053f34059b6d0882b086ec8d9498a25525fd7c8a9eea640eaf9fa930748fc
+lib/codeql/rust/generated/TuplePat.qll 9413451a13ea97cd693be66b1cfe0d75b295cd8bb6a2e9268ce2d2f3618e4444 06d7e55819126c971eea0eb0fc6bcbe5827a83209609b4509e9ee96dbf9af974
+lib/codeql/rust/generated/TupleStructPat.qll 8ee9871da041a7c67b95300a53db3ad8b7030538ada5861de708594d8e374f69 6cdd75444d7f27f459d5efdea257b322cd8d9c2647ded69b53c77e9b9ec928be
+lib/codeql/rust/generated/TypeRef.qll 27c09e1decef33bcbd94837c8a07750fc3c9772fb4405cc683ed1c981fc7dc00 27c09e1decef33bcbd94837c8a07750fc3c9772fb4405cc683ed1c981fc7dc00
+lib/codeql/rust/generated/UnaryOpExpr.qll 75654c595a4b51a08e54fad4592c0560df6efa6895d650c8d219a8f33bd002c5 fc1d16675e263b041d398eb336617f7230ae4f14bcc0f18ec0397969331afc50
+lib/codeql/rust/generated/UnderscoreExpr.qll 2241df5760763436792dcc6eef203f1508cef8ac7ee509ed716694f0bbcbe040 2241df5760763436792dcc6eef203f1508cef8ac7ee509ed716694f0bbcbe040
+lib/codeql/rust/generated/Unimplemented.qll 0acb6d1a111a1902f21ff35966be1430a8cceaafac6485e8d727819193499c15 0acb6d1a111a1902f21ff35966be1430a8cceaafac6485e8d727819193499c15
+lib/codeql/rust/generated/UnknownFile.qll 0ce299a8114c90e9b1756b92ef14f9717b78b224bb37313de04af1d3764787c6 0ce299a8114c90e9b1756b92ef14f9717b78b224bb37313de04af1d3764787c6
+lib/codeql/rust/generated/UnknownLocation.qll cb68df6a190fc1dbffa0409cd757d1add0a3a967b10536ac9e104f3fa063a30e cb68df6a190fc1dbffa0409cd757d1add0a3a967b10536ac9e104f3fa063a30e
+lib/codeql/rust/generated/UnsafeBlockExpr.qll d04e375dad5af7ae2bbf13d3995b82fc741c4a6a1863257175df89800101b9c9 d04e375dad5af7ae2bbf13d3995b82fc741c4a6a1863257175df89800101b9c9
+lib/codeql/rust/generated/WildPat.qll 99a13aedafe369ef99ea086387c155467cd4841006346fa6fd93bc3cc34308a2 99a13aedafe369ef99ea086387c155467cd4841006346fa6fd93bc3cc34308a2
+lib/codeql/rust/generated/YeetExpr.qll aff1a7dea37ee1d7297497814efbd952570a8123fead2e744c9002e9f95923f9 c23624fceaa2bd73bbc1ac47a77411cd534d579c21c20536325ee5973944cd2e
+lib/codeql/rust/generated/YieldExpr.qll cdd32398f9bee5a08faf7afc33d905b27e64bf49f689c489f1f44855c8c74f58 6375825bdda79e75c299bfda74e8fe604e1dbe6f53691abec744dc019d069972
+test/extractor-tests/generated/Expr/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/File/File.ql a367799e74ea6c0f61ab31a73d4ae6796c0c2d7d745d33b628dec9b7b2be7e97 1b035b67ad541e1797b1f33660ddebcadd99b3b8e1ea5266b62d132a1748009f
+test/extractor-tests/generated/Function/Function.ql 347912a8d8e541993f56753400867e04e96f3b20d4a7aa75ba8c967982f23f8c c81f0cea4bb896c5ef56e43c0b98c9f1082af6ae6ef5a3aeaa7f3bdd8cc47e74
+test/extractor-tests/generated/Module/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/Pat/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
+test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1
diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes
index 048e925f27424..86253761e9384 100644
--- a/rust/ql/.gitattributes
+++ b/rust/ql/.gitattributes
@@ -1,137 +1,213 @@
/.generated.list linguist-generated
/.gitattributes linguist-generated
/lib/codeql/rust/elements/ArrayExpr.qll linguist-generated
+/lib/codeql/rust/elements/ArrayExprImpl.qll linguist-generated
/lib/codeql/rust/elements/AstNode.qll linguist-generated
+/lib/codeql/rust/elements/AstNodeImpl.qll linguist-generated
/lib/codeql/rust/elements/AsyncBlockExpr.qll linguist-generated
/lib/codeql/rust/elements/AsyncBlockExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/AsyncBlockExprImpl.qll linguist-generated
/lib/codeql/rust/elements/AwaitExpr.qll linguist-generated
/lib/codeql/rust/elements/AwaitExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/AwaitExprImpl.qll linguist-generated
/lib/codeql/rust/elements/BecomeExpr.qll linguist-generated
/lib/codeql/rust/elements/BecomeExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BecomeExprImpl.qll linguist-generated
/lib/codeql/rust/elements/BinaryOpExpr.qll linguist-generated
/lib/codeql/rust/elements/BinaryOpExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BinaryOpExprImpl.qll linguist-generated
/lib/codeql/rust/elements/BindPat.qll linguist-generated
/lib/codeql/rust/elements/BindPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BindPatImpl.qll linguist-generated
/lib/codeql/rust/elements/BlockExpr.qll linguist-generated
/lib/codeql/rust/elements/BlockExprBase.qll linguist-generated
+/lib/codeql/rust/elements/BlockExprBaseImpl.qll linguist-generated
/lib/codeql/rust/elements/BlockExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BlockExprImpl.qll linguist-generated
/lib/codeql/rust/elements/BoxExpr.qll linguist-generated
/lib/codeql/rust/elements/BoxExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BoxExprImpl.qll linguist-generated
/lib/codeql/rust/elements/BoxPat.qll linguist-generated
/lib/codeql/rust/elements/BoxPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BoxPatImpl.qll linguist-generated
/lib/codeql/rust/elements/BreakExpr.qll linguist-generated
/lib/codeql/rust/elements/BreakExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/BreakExprImpl.qll linguist-generated
/lib/codeql/rust/elements/CallExpr.qll linguist-generated
/lib/codeql/rust/elements/CallExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/CallExprImpl.qll linguist-generated
/lib/codeql/rust/elements/CastExpr.qll linguist-generated
/lib/codeql/rust/elements/CastExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/CastExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ClosureExpr.qll linguist-generated
/lib/codeql/rust/elements/ClosureExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ClosureExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ConstBlockPat.qll linguist-generated
/lib/codeql/rust/elements/ConstBlockPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ConstBlockPatImpl.qll linguist-generated
/lib/codeql/rust/elements/ConstExpr.qll linguist-generated
/lib/codeql/rust/elements/ConstExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ConstExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ContinueExpr.qll linguist-generated
/lib/codeql/rust/elements/ContinueExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ContinueExprImpl.qll linguist-generated
/lib/codeql/rust/elements/DbFile.qll linguist-generated
/lib/codeql/rust/elements/DbFileConstructor.qll linguist-generated
+/lib/codeql/rust/elements/DbFileImpl.qll linguist-generated
/lib/codeql/rust/elements/DbLocation.qll linguist-generated
/lib/codeql/rust/elements/DbLocationConstructor.qll linguist-generated
+/lib/codeql/rust/elements/DbLocationImpl.qll linguist-generated
/lib/codeql/rust/elements/Declaration.qll linguist-generated
+/lib/codeql/rust/elements/DeclarationImpl.qll linguist-generated
+/lib/codeql/rust/elements/Element.qll linguist-generated
/lib/codeql/rust/elements/ElementListExpr.qll linguist-generated
/lib/codeql/rust/elements/ElementListExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ElementListExprImpl.qll linguist-generated
/lib/codeql/rust/elements/Expr.qll linguist-generated
+/lib/codeql/rust/elements/ExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ExprStmt.qll linguist-generated
/lib/codeql/rust/elements/ExprStmtConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ExprStmtImpl.qll linguist-generated
/lib/codeql/rust/elements/FieldExpr.qll linguist-generated
/lib/codeql/rust/elements/FieldExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/FieldExprImpl.qll linguist-generated
+/lib/codeql/rust/elements/File.qll linguist-generated
+/lib/codeql/rust/elements/Function.qll linguist-generated
/lib/codeql/rust/elements/FunctionConstructor.qll linguist-generated
/lib/codeql/rust/elements/IfExpr.qll linguist-generated
/lib/codeql/rust/elements/IfExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/IfExprImpl.qll linguist-generated
/lib/codeql/rust/elements/IndexExpr.qll linguist-generated
/lib/codeql/rust/elements/IndexExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/IndexExprImpl.qll linguist-generated
/lib/codeql/rust/elements/InlineAsmExpr.qll linguist-generated
/lib/codeql/rust/elements/InlineAsmExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/InlineAsmExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ItemStmt.qll linguist-generated
/lib/codeql/rust/elements/ItemStmtConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ItemStmtImpl.qll linguist-generated
/lib/codeql/rust/elements/Label.qll linguist-generated
/lib/codeql/rust/elements/LabelConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LabelImpl.qll linguist-generated
/lib/codeql/rust/elements/LetExpr.qll linguist-generated
/lib/codeql/rust/elements/LetExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LetExprImpl.qll linguist-generated
/lib/codeql/rust/elements/LetStmt.qll linguist-generated
/lib/codeql/rust/elements/LetStmtConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LetStmtImpl.qll linguist-generated
/lib/codeql/rust/elements/LitPat.qll linguist-generated
/lib/codeql/rust/elements/LitPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LitPatImpl.qll linguist-generated
/lib/codeql/rust/elements/LiteralExpr.qll linguist-generated
/lib/codeql/rust/elements/LiteralExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LiteralExprImpl.qll linguist-generated
+/lib/codeql/rust/elements/Locatable.qll linguist-generated
+/lib/codeql/rust/elements/Location.qll linguist-generated
/lib/codeql/rust/elements/LoopExpr.qll linguist-generated
/lib/codeql/rust/elements/LoopExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/LoopExprImpl.qll linguist-generated
/lib/codeql/rust/elements/MatchArm.qll linguist-generated
/lib/codeql/rust/elements/MatchArmConstructor.qll linguist-generated
+/lib/codeql/rust/elements/MatchArmImpl.qll linguist-generated
/lib/codeql/rust/elements/MatchExpr.qll linguist-generated
/lib/codeql/rust/elements/MatchExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/MatchExprImpl.qll linguist-generated
/lib/codeql/rust/elements/MethodCallExpr.qll linguist-generated
/lib/codeql/rust/elements/MethodCallExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/MethodCallExprImpl.qll linguist-generated
/lib/codeql/rust/elements/MissingExpr.qll linguist-generated
/lib/codeql/rust/elements/MissingExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/MissingExprImpl.qll linguist-generated
/lib/codeql/rust/elements/MissingPat.qll linguist-generated
/lib/codeql/rust/elements/MissingPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/MissingPatImpl.qll linguist-generated
/lib/codeql/rust/elements/Module.qll linguist-generated
/lib/codeql/rust/elements/ModuleConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ModuleImpl.qll linguist-generated
/lib/codeql/rust/elements/OffsetOfExpr.qll linguist-generated
/lib/codeql/rust/elements/OffsetOfExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/OffsetOfExprImpl.qll linguist-generated
/lib/codeql/rust/elements/OrPat.qll linguist-generated
/lib/codeql/rust/elements/OrPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/OrPatImpl.qll linguist-generated
/lib/codeql/rust/elements/Pat.qll linguist-generated
+/lib/codeql/rust/elements/PatImpl.qll linguist-generated
/lib/codeql/rust/elements/PathExpr.qll linguist-generated
/lib/codeql/rust/elements/PathExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/PathExprImpl.qll linguist-generated
/lib/codeql/rust/elements/PathPat.qll linguist-generated
/lib/codeql/rust/elements/PathPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/PathPatImpl.qll linguist-generated
/lib/codeql/rust/elements/RangeExpr.qll linguist-generated
/lib/codeql/rust/elements/RangeExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RangeExprImpl.qll linguist-generated
/lib/codeql/rust/elements/RangePat.qll linguist-generated
/lib/codeql/rust/elements/RangePatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RangePatImpl.qll linguist-generated
/lib/codeql/rust/elements/RecordFieldPat.qll linguist-generated
/lib/codeql/rust/elements/RecordFieldPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RecordFieldPatImpl.qll linguist-generated
/lib/codeql/rust/elements/RecordLitExpr.qll linguist-generated
/lib/codeql/rust/elements/RecordLitExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RecordLitExprImpl.qll linguist-generated
/lib/codeql/rust/elements/RecordLitField.qll linguist-generated
/lib/codeql/rust/elements/RecordLitFieldConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RecordLitFieldImpl.qll linguist-generated
/lib/codeql/rust/elements/RecordPat.qll linguist-generated
/lib/codeql/rust/elements/RecordPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RecordPatImpl.qll linguist-generated
/lib/codeql/rust/elements/RefExpr.qll linguist-generated
/lib/codeql/rust/elements/RefExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RefExprImpl.qll linguist-generated
/lib/codeql/rust/elements/RefPat.qll linguist-generated
/lib/codeql/rust/elements/RefPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RefPatImpl.qll linguist-generated
/lib/codeql/rust/elements/RepeatExpr.qll linguist-generated
/lib/codeql/rust/elements/RepeatExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/RepeatExprImpl.qll linguist-generated
/lib/codeql/rust/elements/ReturnExpr.qll linguist-generated
/lib/codeql/rust/elements/ReturnExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/ReturnExprImpl.qll linguist-generated
/lib/codeql/rust/elements/SlicePat.qll linguist-generated
/lib/codeql/rust/elements/SlicePatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/SlicePatImpl.qll linguist-generated
/lib/codeql/rust/elements/Stmt.qll linguist-generated
+/lib/codeql/rust/elements/StmtImpl.qll linguist-generated
/lib/codeql/rust/elements/TupleExpr.qll linguist-generated
/lib/codeql/rust/elements/TupleExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/TupleExprImpl.qll linguist-generated
/lib/codeql/rust/elements/TuplePat.qll linguist-generated
/lib/codeql/rust/elements/TuplePatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/TuplePatImpl.qll linguist-generated
/lib/codeql/rust/elements/TupleStructPat.qll linguist-generated
/lib/codeql/rust/elements/TupleStructPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/TupleStructPatImpl.qll linguist-generated
/lib/codeql/rust/elements/TypeRef.qll linguist-generated
/lib/codeql/rust/elements/TypeRefConstructor.qll linguist-generated
+/lib/codeql/rust/elements/TypeRefImpl.qll linguist-generated
/lib/codeql/rust/elements/UnaryOpExpr.qll linguist-generated
/lib/codeql/rust/elements/UnaryOpExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/UnaryOpExprImpl.qll linguist-generated
/lib/codeql/rust/elements/UnderscoreExpr.qll linguist-generated
/lib/codeql/rust/elements/UnderscoreExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/UnderscoreExprImpl.qll linguist-generated
/lib/codeql/rust/elements/Unimplemented.qll linguist-generated
/lib/codeql/rust/elements/UnimplementedConstructor.qll linguist-generated
+/lib/codeql/rust/elements/UnimplementedImpl.qll linguist-generated
+/lib/codeql/rust/elements/UnknownFile.qll linguist-generated
+/lib/codeql/rust/elements/UnknownLocation.qll linguist-generated
/lib/codeql/rust/elements/UnsafeBlockExpr.qll linguist-generated
/lib/codeql/rust/elements/UnsafeBlockExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/UnsafeBlockExprImpl.qll linguist-generated
/lib/codeql/rust/elements/WildPat.qll linguist-generated
/lib/codeql/rust/elements/WildPatConstructor.qll linguist-generated
+/lib/codeql/rust/elements/WildPatImpl.qll linguist-generated
/lib/codeql/rust/elements/YeetExpr.qll linguist-generated
/lib/codeql/rust/elements/YeetExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/YeetExprImpl.qll linguist-generated
/lib/codeql/rust/elements/YieldExpr.qll linguist-generated
/lib/codeql/rust/elements/YieldExprConstructor.qll linguist-generated
+/lib/codeql/rust/elements/YieldExprImpl.qll linguist-generated
/lib/codeql/rust/elements.qll linguist-generated
/lib/codeql/rust/generated/ArrayExpr.qll linguist-generated
/lib/codeql/rust/generated/AstNode.qll linguist-generated
diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll
index efb06ae9eea2a..03af91c7c537a 100644
--- a/rust/ql/lib/codeql/rust/elements.qll
+++ b/rust/ql/lib/codeql/rust/elements.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module exports all modules providing `Element` subclasses.
*/
diff --git a/rust/ql/lib/codeql/rust/elements/ArrayExpr.qll b/rust/ql/lib/codeql/rust/elements/ArrayExpr.qll
index b0328ef9382b1..6f706a901e5d1 100644
--- a/rust/ql/lib/codeql/rust/elements/ArrayExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ArrayExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ArrayExpr`.
+ * This module provides the public class `ArrayExpr`.
*/
private import codeql.rust.generated.ArrayExpr
+private import ArrayExprImpl
-class ArrayExpr extends Generated::ArrayExpr { }
+final private class ArrayExprImplFinal = ArrayExprImpl;
+
+final class ArrayExpr extends ArrayExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ArrayExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ArrayExprImpl.qll
new file mode 100644
index 0000000000000..766f9806ab1f2
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ArrayExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ArrayExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ArrayExpr
+
+class ArrayExprImpl extends Generated::ArrayExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/AstNode.qll b/rust/ql/lib/codeql/rust/elements/AstNode.qll
index f1edc4ac49323..ad27f0220872a 100644
--- a/rust/ql/lib/codeql/rust/elements/AstNode.qll
+++ b/rust/ql/lib/codeql/rust/elements/AstNode.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `AstNode`.
+ * This module provides the public class `AstNode`.
*/
private import codeql.rust.generated.AstNode
+private import AstNodeImpl
-class AstNode extends Generated::AstNode { }
+final private class AstNodeImplFinal = AstNodeImpl;
+
+final class AstNode extends AstNodeImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/AstNodeImpl.qll b/rust/ql/lib/codeql/rust/elements/AstNodeImpl.qll
new file mode 100644
index 0000000000000..ccfc85f06954c
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/AstNodeImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `AstNode`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.AstNode
+
+class AstNodeImpl extends Generated::AstNodeImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll
index e024eec6e9203..03998510ea269 100644
--- a/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/AsyncBlockExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `AsyncBlockExpr`.
+ * This module provides the public class `AsyncBlockExpr`.
*/
private import codeql.rust.generated.AsyncBlockExpr
+private import AsyncBlockExprImpl
-class AsyncBlockExpr extends Generated::AsyncBlockExpr { }
+final private class AsyncBlockExprImplFinal = AsyncBlockExprImpl;
+
+final class AsyncBlockExpr extends AsyncBlockExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/AsyncBlockExprImpl.qll b/rust/ql/lib/codeql/rust/elements/AsyncBlockExprImpl.qll
new file mode 100644
index 0000000000000..6f4e3d2177cf0
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/AsyncBlockExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `AsyncBlockExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.AsyncBlockExpr
+
+class AsyncBlockExprImpl extends Generated::AsyncBlockExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/AwaitExpr.qll b/rust/ql/lib/codeql/rust/elements/AwaitExpr.qll
index 420be7dc8408c..87f05254446b5 100644
--- a/rust/ql/lib/codeql/rust/elements/AwaitExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/AwaitExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `AwaitExpr`.
+ * This module provides the public class `AwaitExpr`.
*/
private import codeql.rust.generated.AwaitExpr
+private import AwaitExprImpl
-class AwaitExpr extends Generated::AwaitExpr { }
+final private class AwaitExprImplFinal = AwaitExprImpl;
+
+final class AwaitExpr extends AwaitExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/AwaitExprImpl.qll b/rust/ql/lib/codeql/rust/elements/AwaitExprImpl.qll
new file mode 100644
index 0000000000000..8c1cd093dd90a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/AwaitExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `AwaitExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.AwaitExpr
+
+class AwaitExprImpl extends Generated::AwaitExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BecomeExpr.qll b/rust/ql/lib/codeql/rust/elements/BecomeExpr.qll
index 6893087ec0e4a..4c6c46ae73fa4 100644
--- a/rust/ql/lib/codeql/rust/elements/BecomeExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/BecomeExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BecomeExpr`.
+ * This module provides the public class `BecomeExpr`.
*/
private import codeql.rust.generated.BecomeExpr
+private import BecomeExprImpl
-class BecomeExpr extends Generated::BecomeExpr { }
+final private class BecomeExprImplFinal = BecomeExprImpl;
+
+final class BecomeExpr extends BecomeExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BecomeExprImpl.qll b/rust/ql/lib/codeql/rust/elements/BecomeExprImpl.qll
new file mode 100644
index 0000000000000..f48da08cad62a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BecomeExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BecomeExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BecomeExpr
+
+class BecomeExprImpl extends Generated::BecomeExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BinaryOpExpr.qll b/rust/ql/lib/codeql/rust/elements/BinaryOpExpr.qll
index e5de5d9aa453b..981dc806c38c0 100644
--- a/rust/ql/lib/codeql/rust/elements/BinaryOpExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/BinaryOpExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BinaryOpExpr`.
+ * This module provides the public class `BinaryOpExpr`.
*/
private import codeql.rust.generated.BinaryOpExpr
+private import BinaryOpExprImpl
-class BinaryOpExpr extends Generated::BinaryOpExpr { }
+final private class BinaryOpExprImplFinal = BinaryOpExprImpl;
+
+final class BinaryOpExpr extends BinaryOpExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BinaryOpExprImpl.qll b/rust/ql/lib/codeql/rust/elements/BinaryOpExprImpl.qll
new file mode 100644
index 0000000000000..17e4e75cded0c
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BinaryOpExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BinaryOpExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BinaryOpExpr
+
+class BinaryOpExprImpl extends Generated::BinaryOpExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BindPat.qll b/rust/ql/lib/codeql/rust/elements/BindPat.qll
index eb0d2b00448e6..9d1bb08d69cc0 100644
--- a/rust/ql/lib/codeql/rust/elements/BindPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/BindPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BindPat`.
+ * This module provides the public class `BindPat`.
*/
private import codeql.rust.generated.BindPat
+private import BindPatImpl
-class BindPat extends Generated::BindPat { }
+final private class BindPatImplFinal = BindPatImpl;
+
+final class BindPat extends BindPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BindPatImpl.qll b/rust/ql/lib/codeql/rust/elements/BindPatImpl.qll
new file mode 100644
index 0000000000000..ca164d7134b48
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BindPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BindPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BindPat
+
+class BindPatImpl extends Generated::BindPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BlockExpr.qll b/rust/ql/lib/codeql/rust/elements/BlockExpr.qll
index 0ba5e1a2eb8d8..434e91e85d0be 100644
--- a/rust/ql/lib/codeql/rust/elements/BlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/BlockExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BlockExpr`.
+ * This module provides the public class `BlockExpr`.
*/
private import codeql.rust.generated.BlockExpr
+private import BlockExprImpl
-class BlockExpr extends Generated::BlockExpr { }
+final private class BlockExprImplFinal = BlockExprImpl;
+
+final class BlockExpr extends BlockExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BlockExprBase.qll b/rust/ql/lib/codeql/rust/elements/BlockExprBase.qll
index cf0236709b38f..724a8d6944546 100644
--- a/rust/ql/lib/codeql/rust/elements/BlockExprBase.qll
+++ b/rust/ql/lib/codeql/rust/elements/BlockExprBase.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BlockExprBase`.
+ * This module provides the public class `BlockExprBase`.
*/
private import codeql.rust.generated.BlockExprBase
+private import BlockExprBaseImpl
-class BlockExprBase extends Generated::BlockExprBase { }
+final private class BlockExprBaseImplFinal = BlockExprBaseImpl;
+
+final class BlockExprBase extends BlockExprBaseImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BlockExprBaseImpl.qll b/rust/ql/lib/codeql/rust/elements/BlockExprBaseImpl.qll
new file mode 100644
index 0000000000000..54c673967edee
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BlockExprBaseImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BlockExprBase`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BlockExprBase
+
+class BlockExprBaseImpl extends Generated::BlockExprBaseImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BlockExprImpl.qll b/rust/ql/lib/codeql/rust/elements/BlockExprImpl.qll
new file mode 100644
index 0000000000000..b7b396f86b6b8
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BlockExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BlockExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BlockExpr
+
+class BlockExprImpl extends Generated::BlockExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BoxExpr.qll b/rust/ql/lib/codeql/rust/elements/BoxExpr.qll
index 1525f7796f581..b8764d43f876f 100644
--- a/rust/ql/lib/codeql/rust/elements/BoxExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/BoxExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BoxExpr`.
+ * This module provides the public class `BoxExpr`.
*/
private import codeql.rust.generated.BoxExpr
+private import BoxExprImpl
-class BoxExpr extends Generated::BoxExpr { }
+final private class BoxExprImplFinal = BoxExprImpl;
+
+final class BoxExpr extends BoxExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BoxExprImpl.qll b/rust/ql/lib/codeql/rust/elements/BoxExprImpl.qll
new file mode 100644
index 0000000000000..8bd0276e54d8f
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BoxExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BoxExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BoxExpr
+
+class BoxExprImpl extends Generated::BoxExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BoxPat.qll b/rust/ql/lib/codeql/rust/elements/BoxPat.qll
index e2b1d9b7e779d..89ddc6c22314a 100644
--- a/rust/ql/lib/codeql/rust/elements/BoxPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/BoxPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BoxPat`.
+ * This module provides the public class `BoxPat`.
*/
private import codeql.rust.generated.BoxPat
+private import BoxPatImpl
-class BoxPat extends Generated::BoxPat { }
+final private class BoxPatImplFinal = BoxPatImpl;
+
+final class BoxPat extends BoxPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BoxPatImpl.qll b/rust/ql/lib/codeql/rust/elements/BoxPatImpl.qll
new file mode 100644
index 0000000000000..5de2fdf83fc24
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BoxPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BoxPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BoxPat
+
+class BoxPatImpl extends Generated::BoxPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/BreakExpr.qll b/rust/ql/lib/codeql/rust/elements/BreakExpr.qll
index cd98d7003a058..df6eea42a0d1e 100644
--- a/rust/ql/lib/codeql/rust/elements/BreakExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/BreakExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `BreakExpr`.
+ * This module provides the public class `BreakExpr`.
*/
private import codeql.rust.generated.BreakExpr
+private import BreakExprImpl
-class BreakExpr extends Generated::BreakExpr { }
+final private class BreakExprImplFinal = BreakExprImpl;
+
+final class BreakExpr extends BreakExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/BreakExprImpl.qll b/rust/ql/lib/codeql/rust/elements/BreakExprImpl.qll
new file mode 100644
index 0000000000000..82669d3ba2b2e
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/BreakExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `BreakExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.BreakExpr
+
+class BreakExprImpl extends Generated::BreakExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/CallExpr.qll b/rust/ql/lib/codeql/rust/elements/CallExpr.qll
index ee14b172e50c6..257ae7265b2ab 100644
--- a/rust/ql/lib/codeql/rust/elements/CallExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/CallExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `CallExpr`.
+ * This module provides the public class `CallExpr`.
*/
private import codeql.rust.generated.CallExpr
+private import CallExprImpl
-class CallExpr extends Generated::CallExpr { }
+final private class CallExprImplFinal = CallExprImpl;
+
+final class CallExpr extends CallExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/CallExprImpl.qll b/rust/ql/lib/codeql/rust/elements/CallExprImpl.qll
new file mode 100644
index 0000000000000..a452e36ab35c7
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/CallExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `CallExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.CallExpr
+
+class CallExprImpl extends Generated::CallExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/CastExpr.qll b/rust/ql/lib/codeql/rust/elements/CastExpr.qll
index 3b7b41955cd8a..5c88cefcdae54 100644
--- a/rust/ql/lib/codeql/rust/elements/CastExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/CastExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `CastExpr`.
+ * This module provides the public class `CastExpr`.
*/
private import codeql.rust.generated.CastExpr
+private import CastExprImpl
-class CastExpr extends Generated::CastExpr { }
+final private class CastExprImplFinal = CastExprImpl;
+
+final class CastExpr extends CastExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/CastExprImpl.qll b/rust/ql/lib/codeql/rust/elements/CastExprImpl.qll
new file mode 100644
index 0000000000000..727a93d0af245
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/CastExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `CastExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.CastExpr
+
+class CastExprImpl extends Generated::CastExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ClosureExpr.qll b/rust/ql/lib/codeql/rust/elements/ClosureExpr.qll
index 661d98ce1b279..9378d1d968aa6 100644
--- a/rust/ql/lib/codeql/rust/elements/ClosureExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ClosureExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ClosureExpr`.
+ * This module provides the public class `ClosureExpr`.
*/
private import codeql.rust.generated.ClosureExpr
+private import ClosureExprImpl
-class ClosureExpr extends Generated::ClosureExpr { }
+final private class ClosureExprImplFinal = ClosureExprImpl;
+
+final class ClosureExpr extends ClosureExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ClosureExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ClosureExprImpl.qll
new file mode 100644
index 0000000000000..e0bb1682a9032
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ClosureExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ClosureExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ClosureExpr
+
+class ClosureExprImpl extends Generated::ClosureExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ConstBlockPat.qll b/rust/ql/lib/codeql/rust/elements/ConstBlockPat.qll
index 80b48ac034e88..c1beb455fd978 100644
--- a/rust/ql/lib/codeql/rust/elements/ConstBlockPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/ConstBlockPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ConstBlockPat`.
+ * This module provides the public class `ConstBlockPat`.
*/
private import codeql.rust.generated.ConstBlockPat
+private import ConstBlockPatImpl
-class ConstBlockPat extends Generated::ConstBlockPat { }
+final private class ConstBlockPatImplFinal = ConstBlockPatImpl;
+
+final class ConstBlockPat extends ConstBlockPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ConstBlockPatImpl.qll b/rust/ql/lib/codeql/rust/elements/ConstBlockPatImpl.qll
new file mode 100644
index 0000000000000..dde409644aaab
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ConstBlockPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ConstBlockPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ConstBlockPat
+
+class ConstBlockPatImpl extends Generated::ConstBlockPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ConstExpr.qll b/rust/ql/lib/codeql/rust/elements/ConstExpr.qll
index 375e7dcc7fdaa..8282cfa950678 100644
--- a/rust/ql/lib/codeql/rust/elements/ConstExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ConstExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ConstExpr`.
+ * This module provides the public class `ConstExpr`.
*/
private import codeql.rust.generated.ConstExpr
+private import ConstExprImpl
-class ConstExpr extends Generated::ConstExpr { }
+final private class ConstExprImplFinal = ConstExprImpl;
+
+final class ConstExpr extends ConstExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ConstExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ConstExprImpl.qll
new file mode 100644
index 0000000000000..70fdfd6cdaa9e
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ConstExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ConstExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ConstExpr
+
+class ConstExprImpl extends Generated::ConstExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ContinueExpr.qll b/rust/ql/lib/codeql/rust/elements/ContinueExpr.qll
index f23879671e337..86d0c023b91d2 100644
--- a/rust/ql/lib/codeql/rust/elements/ContinueExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ContinueExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ContinueExpr`.
+ * This module provides the public class `ContinueExpr`.
*/
private import codeql.rust.generated.ContinueExpr
+private import ContinueExprImpl
-class ContinueExpr extends Generated::ContinueExpr { }
+final private class ContinueExprImplFinal = ContinueExprImpl;
+
+final class ContinueExpr extends ContinueExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ContinueExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ContinueExprImpl.qll
new file mode 100644
index 0000000000000..59011e9c6c1c1
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ContinueExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ContinueExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ContinueExpr
+
+class ContinueExprImpl extends Generated::ContinueExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/DbFile.qll b/rust/ql/lib/codeql/rust/elements/DbFile.qll
index d1659d5206dd7..2bffe15078bfc 100644
--- a/rust/ql/lib/codeql/rust/elements/DbFile.qll
+++ b/rust/ql/lib/codeql/rust/elements/DbFile.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `DbFile`.
+ * This module provides the public class `DbFile`.
*/
private import codeql.rust.generated.DbFile
+private import DbFileImpl
-class DbFile extends Generated::DbFile { }
+final private class DbFileImplFinal = DbFileImpl;
+
+final class DbFile extends DbFileImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/DbFileImpl.qll b/rust/ql/lib/codeql/rust/elements/DbFileImpl.qll
new file mode 100644
index 0000000000000..57d7a35cbf0d3
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/DbFileImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `DbFile`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.DbFile
+
+class DbFileImpl extends Generated::DbFileImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/DbLocation.qll b/rust/ql/lib/codeql/rust/elements/DbLocation.qll
index 727e4e8790f64..6f7abf9699155 100644
--- a/rust/ql/lib/codeql/rust/elements/DbLocation.qll
+++ b/rust/ql/lib/codeql/rust/elements/DbLocation.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `DbLocation`.
+ * This module provides the public class `DbLocation`.
*/
private import codeql.rust.generated.DbLocation
+private import DbLocationImpl
-class DbLocation extends Generated::DbLocation { }
+final private class DbLocationImplFinal = DbLocationImpl;
+
+final class DbLocation extends DbLocationImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/DbLocationImpl.qll b/rust/ql/lib/codeql/rust/elements/DbLocationImpl.qll
new file mode 100644
index 0000000000000..89c4d3f40a436
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/DbLocationImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `DbLocation`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.DbLocation
+
+class DbLocationImpl extends Generated::DbLocationImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Declaration.qll b/rust/ql/lib/codeql/rust/elements/Declaration.qll
index b4e0971d591e2..c89a6a695700c 100644
--- a/rust/ql/lib/codeql/rust/elements/Declaration.qll
+++ b/rust/ql/lib/codeql/rust/elements/Declaration.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Declaration`.
+ * This module provides the public class `Declaration`.
*/
private import codeql.rust.generated.Declaration
+private import DeclarationImpl
-class Declaration extends Generated::Declaration { }
+final private class DeclarationImplFinal = DeclarationImpl;
+
+final class Declaration extends DeclarationImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/DeclarationImpl.qll b/rust/ql/lib/codeql/rust/elements/DeclarationImpl.qll
new file mode 100644
index 0000000000000..73283a0a087bf
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/DeclarationImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Declaration`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Declaration
+
+class DeclarationImpl extends Generated::DeclarationImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Element.qll b/rust/ql/lib/codeql/rust/elements/Element.qll
index 9c1f18767482e..ee2d42c46da60 100644
--- a/rust/ql/lib/codeql/rust/elements/Element.qll
+++ b/rust/ql/lib/codeql/rust/elements/Element.qll
@@ -1,11 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Element`.
+ * This module provides the public class `Element`.
*/
private import codeql.rust.generated.Element
+private import ElementImpl
-class Element extends Generated::Element {
- override string toString() { result = this.getAPrimaryQlClass() }
+final private class ElementImplFinal = ElementImpl;
- predicate isUnknown() { none() } // compatibility with test generation, to be fixed
-}
+final class Element extends ElementImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ElementImpl.qll b/rust/ql/lib/codeql/rust/elements/ElementImpl.qll
new file mode 100644
index 0000000000000..941e2f0f4a555
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ElementImpl.qll
@@ -0,0 +1,11 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Element`.
+ */
+
+private import codeql.rust.generated.Element
+
+class ElementImpl extends Generated::ElementImpl {
+ override string toString() { result = this.getAPrimaryQlClass() }
+
+ predicate isUnknown() { none() } // compatibility with test generation, to be fixed
+}
diff --git a/rust/ql/lib/codeql/rust/elements/ElementListExpr.qll b/rust/ql/lib/codeql/rust/elements/ElementListExpr.qll
index 7513353fce3d5..10043f579051d 100644
--- a/rust/ql/lib/codeql/rust/elements/ElementListExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ElementListExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ElementListExpr`.
+ * This module provides the public class `ElementListExpr`.
*/
private import codeql.rust.generated.ElementListExpr
+private import ElementListExprImpl
-class ElementListExpr extends Generated::ElementListExpr { }
+final private class ElementListExprImplFinal = ElementListExprImpl;
+
+final class ElementListExpr extends ElementListExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ElementListExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ElementListExprImpl.qll
new file mode 100644
index 0000000000000..340a43cf592a2
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ElementListExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ElementListExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ElementListExpr
+
+class ElementListExprImpl extends Generated::ElementListExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Expr.qll b/rust/ql/lib/codeql/rust/elements/Expr.qll
index 40a7beac24994..e0962563950c2 100644
--- a/rust/ql/lib/codeql/rust/elements/Expr.qll
+++ b/rust/ql/lib/codeql/rust/elements/Expr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Expr`.
+ * This module provides the public class `Expr`.
*/
private import codeql.rust.generated.Expr
+private import ExprImpl
-class Expr extends Generated::Expr { }
+final private class ExprImplFinal = ExprImpl;
+
+final class Expr extends ExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ExprImpl.qll
new file mode 100644
index 0000000000000..759cf2527fa7a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Expr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Expr
+
+class ExprImpl extends Generated::ExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ExprStmt.qll b/rust/ql/lib/codeql/rust/elements/ExprStmt.qll
index 0ec9cdbc813dc..26dd33ff4b289 100644
--- a/rust/ql/lib/codeql/rust/elements/ExprStmt.qll
+++ b/rust/ql/lib/codeql/rust/elements/ExprStmt.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ExprStmt`.
+ * This module provides the public class `ExprStmt`.
*/
private import codeql.rust.generated.ExprStmt
+private import ExprStmtImpl
-class ExprStmt extends Generated::ExprStmt { }
+final private class ExprStmtImplFinal = ExprStmtImpl;
+
+final class ExprStmt extends ExprStmtImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ExprStmtImpl.qll b/rust/ql/lib/codeql/rust/elements/ExprStmtImpl.qll
new file mode 100644
index 0000000000000..f92d6428e599a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ExprStmtImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ExprStmt`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ExprStmt
+
+class ExprStmtImpl extends Generated::ExprStmtImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/FieldExpr.qll b/rust/ql/lib/codeql/rust/elements/FieldExpr.qll
index 656bd807afdb0..672f49b58b5c3 100644
--- a/rust/ql/lib/codeql/rust/elements/FieldExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/FieldExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `FieldExpr`.
+ * This module provides the public class `FieldExpr`.
*/
private import codeql.rust.generated.FieldExpr
+private import FieldExprImpl
-class FieldExpr extends Generated::FieldExpr { }
+final private class FieldExprImplFinal = FieldExprImpl;
+
+final class FieldExpr extends FieldExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/FieldExprImpl.qll b/rust/ql/lib/codeql/rust/elements/FieldExprImpl.qll
new file mode 100644
index 0000000000000..02f4ab6204bd1
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/FieldExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `FieldExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.FieldExpr
+
+class FieldExprImpl extends Generated::FieldExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/File.qll b/rust/ql/lib/codeql/rust/elements/File.qll
index f9d2e62017feb..26a235810001c 100644
--- a/rust/ql/lib/codeql/rust/elements/File.qll
+++ b/rust/ql/lib/codeql/rust/elements/File.qll
@@ -1,111 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `File`.
+ * This module provides the public class `File`.
*/
private import codeql.rust.generated.File
-private import codeql.rust.elements.Location
-private import codeql.rust.elements.UnknownLocation
+private import FileImpl
-class File extends Generated::File {
- /** toString */
- override string toString() { result = this.getAbsolutePath() }
+final private class FileImplFinal = FileImpl;
- /** Gets the absolute path of this file. */
- string getAbsolutePath() { result = this.getName() }
-
- /** Gets the full name of this file. */
- string getFullName() { result = this.getAbsolutePath() }
-
- /** Gets the URL of this file. */
- string getURL() { result = "file://" + this.getAbsolutePath() + ":0:0:0:0" }
-
- /**
- * Holds if either,
- * - `part` is the base name of this container and `i = 1`, or
- * - `part` is the stem of this container and `i = 2`, or
- * - `part` is the extension of this container and `i = 3`.
- */
- cached
- private predicate splitAbsolutePath(string part, int i) {
- part = this.getAbsolutePath().regexpCapture(".*/(([^/]*?)(?:\\.([^.]*))?)", i)
- }
-
- /** Gets the base name of this file. */
- string getBaseName() { this.splitAbsolutePath(result, 1) }
-
- /**
- * Gets the extension of this container, that is, the suffix of its base name
- * after the last dot character, if any.
- *
- * In particular,
- *
- * - if the name does not include a dot, there is no extension, so this
- * predicate has no result;
- * - if the name ends in a dot, the extension is the empty string;
- * - if the name contains multiple dots, the extension follows the last dot.
- *
- * Here are some examples of absolute paths and the corresponding extensions
- * (surrounded with quotes to avoid ambiguity):
- *
- *
- * Absolute path | Extension |
- * "/tmp/tst.txt" | "txt" |
- * "/tmp/.classpath" | "classpath" |
- * "/bin/bash" | not defined |
- * "/tmp/tst2." | "" |
- * "/tmp/x.tar.gz" | "gz" |
- *
- */
- string getExtension() { this.splitAbsolutePath(result, 3) }
-
- /**
- * Gets the stem of this container, that is, the prefix of its base name up to
- * (but not including) the last dot character if there is one, or the entire
- * base name if there is not.
- *
- * Here are some examples of absolute paths and the corresponding stems
- * (surrounded with quotes to avoid ambiguity):
- *
- *
- * Absolute path | Stem |
- * "/tmp/tst.txt" | "tst" |
- * "/tmp/.classpath" | "" |
- * "/bin/bash" | "bash" |
- * "/tmp/tst2." | "tst2" |
- * "/tmp/x.tar.gz" | "x.tar" |
- *
- */
- string getStem() { this.splitAbsolutePath(result, 2) }
-
- /**
- * Gets the number of lines containing code in this file. This value
- * is approximate.
- */
- int getNumberOfLinesOfCode() {
- result =
- count(int line |
- exists(Location loc |
- not loc instanceof UnknownLocation and loc.getFile() = this and loc.getStartLine() = line
- )
- )
- }
-
- /**
- * Gets the relative path of this file from the root folder of the
- * analyzed source location. The relative path of the root folder itself
- * would be the empty string.
- *
- * This has no result if the file is outside the source root, that is,
- * if the root folder is not a reflexive, transitive parent of this file.
- */
- string getRelativePath() {
- exists(string absPath, string pref |
- absPath = this.getAbsolutePath() and sourceLocationPrefix(pref)
- |
- absPath = pref and result = ""
- or
- absPath = pref.regexpReplaceAll("/$", "") + "/" + result and
- not result.matches("/%")
- )
- }
-}
+final class File extends FileImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/FileImpl.qll b/rust/ql/lib/codeql/rust/elements/FileImpl.qll
new file mode 100644
index 0000000000000..a47133134c4cd
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/FileImpl.qll
@@ -0,0 +1,111 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `File`.
+ */
+
+private import codeql.rust.generated.File
+private import codeql.rust.elements.Location
+private import codeql.rust.elements.UnknownLocation
+
+class FileImpl extends Generated::FileImpl {
+ /** toString */
+ override string toString() { result = this.getAbsolutePath() }
+
+ /** Gets the absolute path of this file. */
+ string getAbsolutePath() { result = this.getName() }
+
+ /** Gets the full name of this file. */
+ string getFullName() { result = this.getAbsolutePath() }
+
+ /** Gets the URL of this file. */
+ string getURL() { result = "file://" + this.getAbsolutePath() + ":0:0:0:0" }
+
+ /**
+ * Holds if either,
+ * - `part` is the base name of this container and `i = 1`, or
+ * - `part` is the stem of this container and `i = 2`, or
+ * - `part` is the extension of this container and `i = 3`.
+ */
+ cached
+ private predicate splitAbsolutePath(string part, int i) {
+ part = this.getAbsolutePath().regexpCapture(".*/(([^/]*?)(?:\\.([^.]*))?)", i)
+ }
+
+ /** Gets the base name of this file. */
+ string getBaseName() { this.splitAbsolutePath(result, 1) }
+
+ /**
+ * Gets the extension of this container, that is, the suffix of its base name
+ * after the last dot character, if any.
+ *
+ * In particular,
+ *
+ * - if the name does not include a dot, there is no extension, so this
+ * predicate has no result;
+ * - if the name ends in a dot, the extension is the empty string;
+ * - if the name contains multiple dots, the extension follows the last dot.
+ *
+ * Here are some examples of absolute paths and the corresponding extensions
+ * (surrounded with quotes to avoid ambiguity):
+ *
+ *
+ * Absolute path | Extension |
+ * "/tmp/tst.txt" | "txt" |
+ * "/tmp/.classpath" | "classpath" |
+ * "/bin/bash" | not defined |
+ * "/tmp/tst2." | "" |
+ * "/tmp/x.tar.gz" | "gz" |
+ *
+ */
+ string getExtension() { this.splitAbsolutePath(result, 3) }
+
+ /**
+ * Gets the stem of this container, that is, the prefix of its base name up to
+ * (but not including) the last dot character if there is one, or the entire
+ * base name if there is not.
+ *
+ * Here are some examples of absolute paths and the corresponding stems
+ * (surrounded with quotes to avoid ambiguity):
+ *
+ *
+ * Absolute path | Stem |
+ * "/tmp/tst.txt" | "tst" |
+ * "/tmp/.classpath" | "" |
+ * "/bin/bash" | "bash" |
+ * "/tmp/tst2." | "tst2" |
+ * "/tmp/x.tar.gz" | "x.tar" |
+ *
+ */
+ string getStem() { this.splitAbsolutePath(result, 2) }
+
+ /**
+ * Gets the number of lines containing code in this file. This value
+ * is approximate.
+ */
+ int getNumberOfLinesOfCode() {
+ result =
+ count(int line |
+ exists(Location loc |
+ not loc instanceof UnknownLocation and loc.getFile() = this and loc.getStartLine() = line
+ )
+ )
+ }
+
+ /**
+ * Gets the relative path of this file from the root folder of the
+ * analyzed source location. The relative path of the root folder itself
+ * would be the empty string.
+ *
+ * This has no result if the file is outside the source root, that is,
+ * if the root folder is not a reflexive, transitive parent of this file.
+ */
+ string getRelativePath() {
+ exists(string absPath, string pref |
+ absPath = this.getAbsolutePath() and sourceLocationPrefix(pref)
+ |
+ absPath = pref and result = ""
+ or
+ absPath = pref.regexpReplaceAll("/$", "") + "/" + result and
+ not result.matches("/%")
+ )
+ }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/Function.qll b/rust/ql/lib/codeql/rust/elements/Function.qll
index 23531c2bbd1fa..6689e742f59a7 100644
--- a/rust/ql/lib/codeql/rust/elements/Function.qll
+++ b/rust/ql/lib/codeql/rust/elements/Function.qll
@@ -1,10 +1,13 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Function`.
+ * This module provides the public class `Function`.
*/
private import codeql.rust.generated.Function
+private import FunctionImpl
+
+final private class FunctionImplFinal = FunctionImpl;
-// the following QLdoc is generated: if you need to edit it, do it in the schema file
/**
* A function declaration. For example
* ```
@@ -17,6 +20,4 @@ private import codeql.rust.generated.Function
* }
* ```
*/
-class Function extends Generated::Function {
- override string toString() { result = this.getName() }
-}
+final class Function extends FunctionImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/FunctionImpl.qll b/rust/ql/lib/codeql/rust/elements/FunctionImpl.qll
new file mode 100644
index 0000000000000..3a3f009d1d16a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/FunctionImpl.qll
@@ -0,0 +1,21 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Function`.
+ */
+
+private import codeql.rust.generated.Function
+
+/**
+ * A function declaration. For example
+ * ```
+ * fn foo(x: u32) -> u64 { (x + 1).into() }
+ * ```
+ * A function declaration within a trait might not have a body:
+ * ```
+ * trait Trait {
+ * fn bar();
+ * }
+ * ```
+ */
+class FunctionImpl extends Generated::FunctionImpl {
+ override string toString() { result = this.getName() }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/IfExpr.qll b/rust/ql/lib/codeql/rust/elements/IfExpr.qll
index c1500f592c079..6a47b53d0a5e1 100644
--- a/rust/ql/lib/codeql/rust/elements/IfExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/IfExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `IfExpr`.
+ * This module provides the public class `IfExpr`.
*/
private import codeql.rust.generated.IfExpr
+private import IfExprImpl
-class IfExpr extends Generated::IfExpr { }
+final private class IfExprImplFinal = IfExprImpl;
+
+final class IfExpr extends IfExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/IfExprImpl.qll b/rust/ql/lib/codeql/rust/elements/IfExprImpl.qll
new file mode 100644
index 0000000000000..555171608f771
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/IfExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `IfExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.IfExpr
+
+class IfExprImpl extends Generated::IfExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/IndexExpr.qll b/rust/ql/lib/codeql/rust/elements/IndexExpr.qll
index fde06bd4d916d..3da8a60b27e5d 100644
--- a/rust/ql/lib/codeql/rust/elements/IndexExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/IndexExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `IndexExpr`.
+ * This module provides the public class `IndexExpr`.
*/
private import codeql.rust.generated.IndexExpr
+private import IndexExprImpl
-class IndexExpr extends Generated::IndexExpr { }
+final private class IndexExprImplFinal = IndexExprImpl;
+
+final class IndexExpr extends IndexExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/IndexExprImpl.qll b/rust/ql/lib/codeql/rust/elements/IndexExprImpl.qll
new file mode 100644
index 0000000000000..b6ce296713103
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/IndexExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `IndexExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.IndexExpr
+
+class IndexExprImpl extends Generated::IndexExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/InlineAsmExpr.qll b/rust/ql/lib/codeql/rust/elements/InlineAsmExpr.qll
index b89e49e3af360..0d1d0cae88722 100644
--- a/rust/ql/lib/codeql/rust/elements/InlineAsmExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/InlineAsmExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `InlineAsmExpr`.
+ * This module provides the public class `InlineAsmExpr`.
*/
private import codeql.rust.generated.InlineAsmExpr
+private import InlineAsmExprImpl
-class InlineAsmExpr extends Generated::InlineAsmExpr { }
+final private class InlineAsmExprImplFinal = InlineAsmExprImpl;
+
+final class InlineAsmExpr extends InlineAsmExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/InlineAsmExprImpl.qll b/rust/ql/lib/codeql/rust/elements/InlineAsmExprImpl.qll
new file mode 100644
index 0000000000000..8a13f7024a718
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/InlineAsmExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `InlineAsmExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.InlineAsmExpr
+
+class InlineAsmExprImpl extends Generated::InlineAsmExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ItemStmt.qll b/rust/ql/lib/codeql/rust/elements/ItemStmt.qll
index de2a1b22f758c..82d8669d9c9a5 100644
--- a/rust/ql/lib/codeql/rust/elements/ItemStmt.qll
+++ b/rust/ql/lib/codeql/rust/elements/ItemStmt.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ItemStmt`.
+ * This module provides the public class `ItemStmt`.
*/
private import codeql.rust.generated.ItemStmt
+private import ItemStmtImpl
-class ItemStmt extends Generated::ItemStmt { }
+final private class ItemStmtImplFinal = ItemStmtImpl;
+
+final class ItemStmt extends ItemStmtImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ItemStmtImpl.qll b/rust/ql/lib/codeql/rust/elements/ItemStmtImpl.qll
new file mode 100644
index 0000000000000..1a2c11b726056
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ItemStmtImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ItemStmt`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ItemStmt
+
+class ItemStmtImpl extends Generated::ItemStmtImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Label.qll b/rust/ql/lib/codeql/rust/elements/Label.qll
index 20a006754e9fa..b349f3de155c6 100644
--- a/rust/ql/lib/codeql/rust/elements/Label.qll
+++ b/rust/ql/lib/codeql/rust/elements/Label.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Label`.
+ * This module provides the public class `Label`.
*/
private import codeql.rust.generated.Label
+private import LabelImpl
-class Label extends Generated::Label { }
+final private class LabelImplFinal = LabelImpl;
+
+final class Label extends LabelImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LabelImpl.qll b/rust/ql/lib/codeql/rust/elements/LabelImpl.qll
new file mode 100644
index 0000000000000..200dbb2430af2
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LabelImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Label`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Label
+
+class LabelImpl extends Generated::LabelImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/LetExpr.qll b/rust/ql/lib/codeql/rust/elements/LetExpr.qll
index 78862471d1bc6..3672ee1e43c6e 100644
--- a/rust/ql/lib/codeql/rust/elements/LetExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/LetExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `LetExpr`.
+ * This module provides the public class `LetExpr`.
*/
private import codeql.rust.generated.LetExpr
+private import LetExprImpl
-class LetExpr extends Generated::LetExpr { }
+final private class LetExprImplFinal = LetExprImpl;
+
+final class LetExpr extends LetExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LetExprImpl.qll b/rust/ql/lib/codeql/rust/elements/LetExprImpl.qll
new file mode 100644
index 0000000000000..e3e8c7fba6b83
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LetExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `LetExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.LetExpr
+
+class LetExprImpl extends Generated::LetExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/LetStmt.qll b/rust/ql/lib/codeql/rust/elements/LetStmt.qll
index f01b81ceb305b..b5cff0ee965c0 100644
--- a/rust/ql/lib/codeql/rust/elements/LetStmt.qll
+++ b/rust/ql/lib/codeql/rust/elements/LetStmt.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `LetStmt`.
+ * This module provides the public class `LetStmt`.
*/
private import codeql.rust.generated.LetStmt
+private import LetStmtImpl
-class LetStmt extends Generated::LetStmt { }
+final private class LetStmtImplFinal = LetStmtImpl;
+
+final class LetStmt extends LetStmtImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LetStmtImpl.qll b/rust/ql/lib/codeql/rust/elements/LetStmtImpl.qll
new file mode 100644
index 0000000000000..1389790615703
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LetStmtImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `LetStmt`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.LetStmt
+
+class LetStmtImpl extends Generated::LetStmtImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/LitPat.qll b/rust/ql/lib/codeql/rust/elements/LitPat.qll
index 0e8ac98c70d03..6258f21f51e1e 100644
--- a/rust/ql/lib/codeql/rust/elements/LitPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/LitPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `LitPat`.
+ * This module provides the public class `LitPat`.
*/
private import codeql.rust.generated.LitPat
+private import LitPatImpl
-class LitPat extends Generated::LitPat { }
+final private class LitPatImplFinal = LitPatImpl;
+
+final class LitPat extends LitPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LitPatImpl.qll b/rust/ql/lib/codeql/rust/elements/LitPatImpl.qll
new file mode 100644
index 0000000000000..05b093e885fdf
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LitPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `LitPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.LitPat
+
+class LitPatImpl extends Generated::LitPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/LiteralExpr.qll b/rust/ql/lib/codeql/rust/elements/LiteralExpr.qll
index d6f9286935805..8e1358d3d8b1b 100644
--- a/rust/ql/lib/codeql/rust/elements/LiteralExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/LiteralExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `LiteralExpr`.
+ * This module provides the public class `LiteralExpr`.
*/
private import codeql.rust.generated.LiteralExpr
+private import LiteralExprImpl
-class LiteralExpr extends Generated::LiteralExpr { }
+final private class LiteralExprImplFinal = LiteralExprImpl;
+
+final class LiteralExpr extends LiteralExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LiteralExprImpl.qll b/rust/ql/lib/codeql/rust/elements/LiteralExprImpl.qll
new file mode 100644
index 0000000000000..b094e7792de70
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LiteralExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `LiteralExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.LiteralExpr
+
+class LiteralExprImpl extends Generated::LiteralExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Locatable.qll b/rust/ql/lib/codeql/rust/elements/Locatable.qll
index f6df70bb0899f..ab0d781369b32 100644
--- a/rust/ql/lib/codeql/rust/elements/Locatable.qll
+++ b/rust/ql/lib/codeql/rust/elements/Locatable.qll
@@ -1,22 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Locatable`.
+ * This module provides the public class `Locatable`.
*/
private import codeql.rust.generated.Locatable
-private import codeql.rust.elements.File
-private import codeql.rust.elements.UnknownLocation
+private import LocatableImpl
-class Locatable extends Generated::Locatable {
- pragma[nomagic]
- override Location getLocation() {
- result = Generated::Locatable.super.getLocation()
- or
- not exists(Generated::Locatable.super.getLocation()) and
- result instanceof UnknownLocation
- }
+final private class LocatableImplFinal = LocatableImpl;
- /**
- * Gets the primary file where this element occurs.
- */
- File getFile() { result = this.getLocation().getFile() }
-}
+final class Locatable extends LocatableImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LocatableImpl.qll b/rust/ql/lib/codeql/rust/elements/LocatableImpl.qll
new file mode 100644
index 0000000000000..60ae4efee02ed
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LocatableImpl.qll
@@ -0,0 +1,17 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Locatable`.
+ */
+
+private import codeql.rust.generated.Locatable
+private import codeql.rust.elements.File
+private import codeql.rust.elements.UnknownLocation
+
+class LocatableImpl extends Generated::LocatableImpl {
+ pragma[nomagic]
+ override Location getLocation() {
+ result = Generated::LocatableImpl.super.getLocation()
+ or
+ not exists(Generated::LocatableImpl.super.getLocation()) and
+ result instanceof UnknownLocation
+ }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/Location.qll b/rust/ql/lib/codeql/rust/elements/Location.qll
index a433422337d2d..277999bb25fb4 100644
--- a/rust/ql/lib/codeql/rust/elements/Location.qll
+++ b/rust/ql/lib/codeql/rust/elements/Location.qll
@@ -1,29 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Location`.
+ * This module provides the public class `Location`.
*/
private import codeql.rust.generated.Location
+private import LocationImpl
-class Location extends Generated::Location {
- /**
- * Holds if this location is described by `path`, `startLine`, `startColumn`, `endLine` and `endColumn`.
- */
- predicate hasLocationInfo(string path, int startLine, int startColumn, int endLine, int endColumn) {
- path = this.getFile().getFullName() and
- startLine = this.getStartLine() and
- startColumn = this.getStartColumn() and
- endLine = this.getEndLine() and
- endColumn = this.getEndColumn()
- }
+final private class LocationImplFinal = LocationImpl;
- /**
- * Gets a textual representation of this location.
- */
- override string toString() {
- exists(string filePath, int startLine, int startColumn, int endLine, int endColumn |
- this.hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
- |
- toUrl(filePath, startLine, startColumn, endLine, endColumn, result)
- )
- }
-}
+final class Location extends LocationImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LocationImpl.qll b/rust/ql/lib/codeql/rust/elements/LocationImpl.qll
new file mode 100644
index 0000000000000..a796af18e6bf5
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LocationImpl.qll
@@ -0,0 +1,29 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Location`.
+ */
+
+private import codeql.rust.generated.Location
+
+class LocationImpl extends Generated::LocationImpl {
+ /**
+ * Holds if this location is described by `path`, `startLine`, `startColumn`, `endLine` and `endColumn`.
+ */
+ predicate hasLocationInfo(string path, int startLine, int startColumn, int endLine, int endColumn) {
+ path = this.getFile().getFullName() and
+ startLine = this.getStartLine() and
+ startColumn = this.getStartColumn() and
+ endLine = this.getEndLine() and
+ endColumn = this.getEndColumn()
+ }
+
+ /**
+ * Gets a textual representation of this location.
+ */
+ override string toString() {
+ exists(string filePath, int startLine, int startColumn, int endLine, int endColumn |
+ this.hasLocationInfo(filePath, startLine, startColumn, endLine, endColumn)
+ |
+ toUrl(filePath, startLine, startColumn, endLine, endColumn, result)
+ )
+ }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/LoopExpr.qll b/rust/ql/lib/codeql/rust/elements/LoopExpr.qll
index 6f08d6648a217..bba19ccade8ef 100644
--- a/rust/ql/lib/codeql/rust/elements/LoopExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/LoopExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `LoopExpr`.
+ * This module provides the public class `LoopExpr`.
*/
private import codeql.rust.generated.LoopExpr
+private import LoopExprImpl
-class LoopExpr extends Generated::LoopExpr { }
+final private class LoopExprImplFinal = LoopExprImpl;
+
+final class LoopExpr extends LoopExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/LoopExprImpl.qll b/rust/ql/lib/codeql/rust/elements/LoopExprImpl.qll
new file mode 100644
index 0000000000000..1a542954e837b
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/LoopExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `LoopExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.LoopExpr
+
+class LoopExprImpl extends Generated::LoopExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/MatchArm.qll b/rust/ql/lib/codeql/rust/elements/MatchArm.qll
index 914d70d355832..ce1a78c3f68d6 100644
--- a/rust/ql/lib/codeql/rust/elements/MatchArm.qll
+++ b/rust/ql/lib/codeql/rust/elements/MatchArm.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `MatchArm`.
+ * This module provides the public class `MatchArm`.
*/
private import codeql.rust.generated.MatchArm
+private import MatchArmImpl
-class MatchArm extends Generated::MatchArm { }
+final private class MatchArmImplFinal = MatchArmImpl;
+
+final class MatchArm extends MatchArmImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/MatchArmImpl.qll b/rust/ql/lib/codeql/rust/elements/MatchArmImpl.qll
new file mode 100644
index 0000000000000..f1a00445d10d1
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/MatchArmImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `MatchArm`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.MatchArm
+
+class MatchArmImpl extends Generated::MatchArmImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/MatchExpr.qll b/rust/ql/lib/codeql/rust/elements/MatchExpr.qll
index fcb352bc2b44a..ef59853305cf5 100644
--- a/rust/ql/lib/codeql/rust/elements/MatchExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/MatchExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `MatchExpr`.
+ * This module provides the public class `MatchExpr`.
*/
private import codeql.rust.generated.MatchExpr
+private import MatchExprImpl
-class MatchExpr extends Generated::MatchExpr { }
+final private class MatchExprImplFinal = MatchExprImpl;
+
+final class MatchExpr extends MatchExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/MatchExprImpl.qll b/rust/ql/lib/codeql/rust/elements/MatchExprImpl.qll
new file mode 100644
index 0000000000000..737e74ae6f533
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/MatchExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `MatchExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.MatchExpr
+
+class MatchExprImpl extends Generated::MatchExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll b/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll
index 855035925c3ba..8abb3a909b5bd 100644
--- a/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/MethodCallExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `MethodCallExpr`.
+ * This module provides the public class `MethodCallExpr`.
*/
private import codeql.rust.generated.MethodCallExpr
+private import MethodCallExprImpl
-class MethodCallExpr extends Generated::MethodCallExpr { }
+final private class MethodCallExprImplFinal = MethodCallExprImpl;
+
+final class MethodCallExpr extends MethodCallExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/MethodCallExprImpl.qll b/rust/ql/lib/codeql/rust/elements/MethodCallExprImpl.qll
new file mode 100644
index 0000000000000..c47a76dc09ec5
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/MethodCallExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `MethodCallExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.MethodCallExpr
+
+class MethodCallExprImpl extends Generated::MethodCallExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/MissingExpr.qll b/rust/ql/lib/codeql/rust/elements/MissingExpr.qll
index 3ee2f3a6e4e81..632c93b38bb2b 100644
--- a/rust/ql/lib/codeql/rust/elements/MissingExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/MissingExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `MissingExpr`.
+ * This module provides the public class `MissingExpr`.
*/
private import codeql.rust.generated.MissingExpr
+private import MissingExprImpl
-class MissingExpr extends Generated::MissingExpr { }
+final private class MissingExprImplFinal = MissingExprImpl;
+
+final class MissingExpr extends MissingExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/MissingExprImpl.qll b/rust/ql/lib/codeql/rust/elements/MissingExprImpl.qll
new file mode 100644
index 0000000000000..5c1b8efb57657
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/MissingExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `MissingExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.MissingExpr
+
+class MissingExprImpl extends Generated::MissingExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/MissingPat.qll b/rust/ql/lib/codeql/rust/elements/MissingPat.qll
index 88db4cdc7794b..7033395e50db6 100644
--- a/rust/ql/lib/codeql/rust/elements/MissingPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/MissingPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `MissingPat`.
+ * This module provides the public class `MissingPat`.
*/
private import codeql.rust.generated.MissingPat
+private import MissingPatImpl
-class MissingPat extends Generated::MissingPat { }
+final private class MissingPatImplFinal = MissingPatImpl;
+
+final class MissingPat extends MissingPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/MissingPatImpl.qll b/rust/ql/lib/codeql/rust/elements/MissingPatImpl.qll
new file mode 100644
index 0000000000000..e2fdb0f1e1f9e
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/MissingPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `MissingPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.MissingPat
+
+class MissingPatImpl extends Generated::MissingPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Module.qll b/rust/ql/lib/codeql/rust/elements/Module.qll
index a001bb4edb8a2..e4f1ea552e5fd 100644
--- a/rust/ql/lib/codeql/rust/elements/Module.qll
+++ b/rust/ql/lib/codeql/rust/elements/Module.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Module`.
+ * This module provides the public class `Module`.
*/
private import codeql.rust.generated.Module
+private import ModuleImpl
-class Module extends Generated::Module { }
+final private class ModuleImplFinal = ModuleImpl;
+
+final class Module extends ModuleImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ModuleImpl.qll b/rust/ql/lib/codeql/rust/elements/ModuleImpl.qll
new file mode 100644
index 0000000000000..fb4b4b6bd89b9
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ModuleImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Module`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Module
+
+class ModuleImpl extends Generated::ModuleImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/OffsetOfExpr.qll b/rust/ql/lib/codeql/rust/elements/OffsetOfExpr.qll
index 88097b2c34a6b..357566b51f23d 100644
--- a/rust/ql/lib/codeql/rust/elements/OffsetOfExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/OffsetOfExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `OffsetOfExpr`.
+ * This module provides the public class `OffsetOfExpr`.
*/
private import codeql.rust.generated.OffsetOfExpr
+private import OffsetOfExprImpl
-class OffsetOfExpr extends Generated::OffsetOfExpr { }
+final private class OffsetOfExprImplFinal = OffsetOfExprImpl;
+
+final class OffsetOfExpr extends OffsetOfExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/OffsetOfExprImpl.qll b/rust/ql/lib/codeql/rust/elements/OffsetOfExprImpl.qll
new file mode 100644
index 0000000000000..089264d09afcf
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/OffsetOfExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `OffsetOfExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.OffsetOfExpr
+
+class OffsetOfExprImpl extends Generated::OffsetOfExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/OrPat.qll b/rust/ql/lib/codeql/rust/elements/OrPat.qll
index 797060365a4e9..397e65c6287c8 100644
--- a/rust/ql/lib/codeql/rust/elements/OrPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/OrPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `OrPat`.
+ * This module provides the public class `OrPat`.
*/
private import codeql.rust.generated.OrPat
+private import OrPatImpl
-class OrPat extends Generated::OrPat { }
+final private class OrPatImplFinal = OrPatImpl;
+
+final class OrPat extends OrPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/OrPatImpl.qll b/rust/ql/lib/codeql/rust/elements/OrPatImpl.qll
new file mode 100644
index 0000000000000..dfa08a2b8af56
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/OrPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `OrPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.OrPat
+
+class OrPatImpl extends Generated::OrPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Pat.qll b/rust/ql/lib/codeql/rust/elements/Pat.qll
index 7e3c032c05b51..3bd3dc3c01607 100644
--- a/rust/ql/lib/codeql/rust/elements/Pat.qll
+++ b/rust/ql/lib/codeql/rust/elements/Pat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Pat`.
+ * This module provides the public class `Pat`.
*/
private import codeql.rust.generated.Pat
+private import PatImpl
-class Pat extends Generated::Pat { }
+final private class PatImplFinal = PatImpl;
+
+final class Pat extends PatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/PatImpl.qll b/rust/ql/lib/codeql/rust/elements/PatImpl.qll
new file mode 100644
index 0000000000000..f527161d121a9
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/PatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Pat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Pat
+
+class PatImpl extends Generated::PatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/PathExpr.qll b/rust/ql/lib/codeql/rust/elements/PathExpr.qll
index 237ca6b71f1f3..b6c5348a0abda 100644
--- a/rust/ql/lib/codeql/rust/elements/PathExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/PathExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `PathExpr`.
+ * This module provides the public class `PathExpr`.
*/
private import codeql.rust.generated.PathExpr
+private import PathExprImpl
-class PathExpr extends Generated::PathExpr { }
+final private class PathExprImplFinal = PathExprImpl;
+
+final class PathExpr extends PathExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/PathExprImpl.qll b/rust/ql/lib/codeql/rust/elements/PathExprImpl.qll
new file mode 100644
index 0000000000000..46bdce7344cae
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/PathExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `PathExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.PathExpr
+
+class PathExprImpl extends Generated::PathExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/PathPat.qll b/rust/ql/lib/codeql/rust/elements/PathPat.qll
index 92d794c658a70..d40125af72ab5 100644
--- a/rust/ql/lib/codeql/rust/elements/PathPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/PathPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `PathPat`.
+ * This module provides the public class `PathPat`.
*/
private import codeql.rust.generated.PathPat
+private import PathPatImpl
-class PathPat extends Generated::PathPat { }
+final private class PathPatImplFinal = PathPatImpl;
+
+final class PathPat extends PathPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/PathPatImpl.qll b/rust/ql/lib/codeql/rust/elements/PathPatImpl.qll
new file mode 100644
index 0000000000000..8ddc773cad14a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/PathPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `PathPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.PathPat
+
+class PathPatImpl extends Generated::PathPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RangeExpr.qll b/rust/ql/lib/codeql/rust/elements/RangeExpr.qll
index 67cd4b1072175..5d6717c495b92 100644
--- a/rust/ql/lib/codeql/rust/elements/RangeExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/RangeExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RangeExpr`.
+ * This module provides the public class `RangeExpr`.
*/
private import codeql.rust.generated.RangeExpr
+private import RangeExprImpl
-class RangeExpr extends Generated::RangeExpr { }
+final private class RangeExprImplFinal = RangeExprImpl;
+
+final class RangeExpr extends RangeExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RangeExprImpl.qll b/rust/ql/lib/codeql/rust/elements/RangeExprImpl.qll
new file mode 100644
index 0000000000000..0132ce7d3fa90
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RangeExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RangeExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RangeExpr
+
+class RangeExprImpl extends Generated::RangeExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RangePat.qll b/rust/ql/lib/codeql/rust/elements/RangePat.qll
index eeae9c8aec8b0..5f587acd00d0c 100644
--- a/rust/ql/lib/codeql/rust/elements/RangePat.qll
+++ b/rust/ql/lib/codeql/rust/elements/RangePat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RangePat`.
+ * This module provides the public class `RangePat`.
*/
private import codeql.rust.generated.RangePat
+private import RangePatImpl
-class RangePat extends Generated::RangePat { }
+final private class RangePatImplFinal = RangePatImpl;
+
+final class RangePat extends RangePatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RangePatImpl.qll b/rust/ql/lib/codeql/rust/elements/RangePatImpl.qll
new file mode 100644
index 0000000000000..3a9afa3d9b6b7
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RangePatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RangePat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RangePat
+
+class RangePatImpl extends Generated::RangePatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordFieldPat.qll b/rust/ql/lib/codeql/rust/elements/RecordFieldPat.qll
index 2b892418c4fc5..44aaa5c702652 100644
--- a/rust/ql/lib/codeql/rust/elements/RecordFieldPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/RecordFieldPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RecordFieldPat`.
+ * This module provides the public class `RecordFieldPat`.
*/
private import codeql.rust.generated.RecordFieldPat
+private import RecordFieldPatImpl
-class RecordFieldPat extends Generated::RecordFieldPat { }
+final private class RecordFieldPatImplFinal = RecordFieldPatImpl;
+
+final class RecordFieldPat extends RecordFieldPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordFieldPatImpl.qll b/rust/ql/lib/codeql/rust/elements/RecordFieldPatImpl.qll
new file mode 100644
index 0000000000000..aa1a949073c79
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RecordFieldPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RecordFieldPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RecordFieldPat
+
+class RecordFieldPatImpl extends Generated::RecordFieldPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordLitExpr.qll b/rust/ql/lib/codeql/rust/elements/RecordLitExpr.qll
index 87653911e1d08..040622cfd8848 100644
--- a/rust/ql/lib/codeql/rust/elements/RecordLitExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/RecordLitExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RecordLitExpr`.
+ * This module provides the public class `RecordLitExpr`.
*/
private import codeql.rust.generated.RecordLitExpr
+private import RecordLitExprImpl
-class RecordLitExpr extends Generated::RecordLitExpr { }
+final private class RecordLitExprImplFinal = RecordLitExprImpl;
+
+final class RecordLitExpr extends RecordLitExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordLitExprImpl.qll b/rust/ql/lib/codeql/rust/elements/RecordLitExprImpl.qll
new file mode 100644
index 0000000000000..0d15c6525eaae
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RecordLitExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RecordLitExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RecordLitExpr
+
+class RecordLitExprImpl extends Generated::RecordLitExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordLitField.qll b/rust/ql/lib/codeql/rust/elements/RecordLitField.qll
index 1a30e1a1e91ae..80d43932f90f1 100644
--- a/rust/ql/lib/codeql/rust/elements/RecordLitField.qll
+++ b/rust/ql/lib/codeql/rust/elements/RecordLitField.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RecordLitField`.
+ * This module provides the public class `RecordLitField`.
*/
private import codeql.rust.generated.RecordLitField
+private import RecordLitFieldImpl
-class RecordLitField extends Generated::RecordLitField { }
+final private class RecordLitFieldImplFinal = RecordLitFieldImpl;
+
+final class RecordLitField extends RecordLitFieldImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordLitFieldImpl.qll b/rust/ql/lib/codeql/rust/elements/RecordLitFieldImpl.qll
new file mode 100644
index 0000000000000..3b698ddf7858c
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RecordLitFieldImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RecordLitField`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RecordLitField
+
+class RecordLitFieldImpl extends Generated::RecordLitFieldImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordPat.qll b/rust/ql/lib/codeql/rust/elements/RecordPat.qll
index ac412f19d3d04..39a563b7f12fb 100644
--- a/rust/ql/lib/codeql/rust/elements/RecordPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/RecordPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RecordPat`.
+ * This module provides the public class `RecordPat`.
*/
private import codeql.rust.generated.RecordPat
+private import RecordPatImpl
-class RecordPat extends Generated::RecordPat { }
+final private class RecordPatImplFinal = RecordPatImpl;
+
+final class RecordPat extends RecordPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RecordPatImpl.qll b/rust/ql/lib/codeql/rust/elements/RecordPatImpl.qll
new file mode 100644
index 0000000000000..9e4f1eddd3313
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RecordPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RecordPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RecordPat
+
+class RecordPatImpl extends Generated::RecordPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RefExpr.qll b/rust/ql/lib/codeql/rust/elements/RefExpr.qll
index 3916a8ad3bc96..69fde2d0cf1cd 100644
--- a/rust/ql/lib/codeql/rust/elements/RefExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/RefExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RefExpr`.
+ * This module provides the public class `RefExpr`.
*/
private import codeql.rust.generated.RefExpr
+private import RefExprImpl
-class RefExpr extends Generated::RefExpr { }
+final private class RefExprImplFinal = RefExprImpl;
+
+final class RefExpr extends RefExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RefExprImpl.qll b/rust/ql/lib/codeql/rust/elements/RefExprImpl.qll
new file mode 100644
index 0000000000000..99aadd741bba7
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RefExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RefExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RefExpr
+
+class RefExprImpl extends Generated::RefExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RefPat.qll b/rust/ql/lib/codeql/rust/elements/RefPat.qll
index 3c9c59e88c5ea..36d721a80545d 100644
--- a/rust/ql/lib/codeql/rust/elements/RefPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/RefPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RefPat`.
+ * This module provides the public class `RefPat`.
*/
private import codeql.rust.generated.RefPat
+private import RefPatImpl
-class RefPat extends Generated::RefPat { }
+final private class RefPatImplFinal = RefPatImpl;
+
+final class RefPat extends RefPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RefPatImpl.qll b/rust/ql/lib/codeql/rust/elements/RefPatImpl.qll
new file mode 100644
index 0000000000000..ceaf1e5961790
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RefPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RefPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RefPat
+
+class RefPatImpl extends Generated::RefPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/RepeatExpr.qll b/rust/ql/lib/codeql/rust/elements/RepeatExpr.qll
index 0f84446136b2c..349f1d152c21b 100644
--- a/rust/ql/lib/codeql/rust/elements/RepeatExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/RepeatExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `RepeatExpr`.
+ * This module provides the public class `RepeatExpr`.
*/
private import codeql.rust.generated.RepeatExpr
+private import RepeatExprImpl
-class RepeatExpr extends Generated::RepeatExpr { }
+final private class RepeatExprImplFinal = RepeatExprImpl;
+
+final class RepeatExpr extends RepeatExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/RepeatExprImpl.qll b/rust/ql/lib/codeql/rust/elements/RepeatExprImpl.qll
new file mode 100644
index 0000000000000..27cba2143f3cc
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/RepeatExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `RepeatExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.RepeatExpr
+
+class RepeatExprImpl extends Generated::RepeatExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/ReturnExpr.qll b/rust/ql/lib/codeql/rust/elements/ReturnExpr.qll
index c8a26c595cd9e..8544f6445976b 100644
--- a/rust/ql/lib/codeql/rust/elements/ReturnExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/ReturnExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `ReturnExpr`.
+ * This module provides the public class `ReturnExpr`.
*/
private import codeql.rust.generated.ReturnExpr
+private import ReturnExprImpl
-class ReturnExpr extends Generated::ReturnExpr { }
+final private class ReturnExprImplFinal = ReturnExprImpl;
+
+final class ReturnExpr extends ReturnExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/ReturnExprImpl.qll b/rust/ql/lib/codeql/rust/elements/ReturnExprImpl.qll
new file mode 100644
index 0000000000000..79e1c744b5c11
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/ReturnExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `ReturnExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.ReturnExpr
+
+class ReturnExprImpl extends Generated::ReturnExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/SlicePat.qll b/rust/ql/lib/codeql/rust/elements/SlicePat.qll
index d89f159a7a7b0..98aa78e0e1b0f 100644
--- a/rust/ql/lib/codeql/rust/elements/SlicePat.qll
+++ b/rust/ql/lib/codeql/rust/elements/SlicePat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `SlicePat`.
+ * This module provides the public class `SlicePat`.
*/
private import codeql.rust.generated.SlicePat
+private import SlicePatImpl
-class SlicePat extends Generated::SlicePat { }
+final private class SlicePatImplFinal = SlicePatImpl;
+
+final class SlicePat extends SlicePatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/SlicePatImpl.qll b/rust/ql/lib/codeql/rust/elements/SlicePatImpl.qll
new file mode 100644
index 0000000000000..2a5b516315935
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/SlicePatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `SlicePat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.SlicePat
+
+class SlicePatImpl extends Generated::SlicePatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Stmt.qll b/rust/ql/lib/codeql/rust/elements/Stmt.qll
index 4b3bd89ea76ff..f33d6e46dfe36 100644
--- a/rust/ql/lib/codeql/rust/elements/Stmt.qll
+++ b/rust/ql/lib/codeql/rust/elements/Stmt.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Stmt`.
+ * This module provides the public class `Stmt`.
*/
private import codeql.rust.generated.Stmt
+private import StmtImpl
-class Stmt extends Generated::Stmt { }
+final private class StmtImplFinal = StmtImpl;
+
+final class Stmt extends StmtImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/StmtImpl.qll b/rust/ql/lib/codeql/rust/elements/StmtImpl.qll
new file mode 100644
index 0000000000000..9e74f7036aee1
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/StmtImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Stmt`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Stmt
+
+class StmtImpl extends Generated::StmtImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/TupleExpr.qll b/rust/ql/lib/codeql/rust/elements/TupleExpr.qll
index b769d9532f65a..7222a25e3544f 100644
--- a/rust/ql/lib/codeql/rust/elements/TupleExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/TupleExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `TupleExpr`.
+ * This module provides the public class `TupleExpr`.
*/
private import codeql.rust.generated.TupleExpr
+private import TupleExprImpl
-class TupleExpr extends Generated::TupleExpr { }
+final private class TupleExprImplFinal = TupleExprImpl;
+
+final class TupleExpr extends TupleExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/TupleExprImpl.qll b/rust/ql/lib/codeql/rust/elements/TupleExprImpl.qll
new file mode 100644
index 0000000000000..79e21451020bf
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/TupleExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `TupleExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.TupleExpr
+
+class TupleExprImpl extends Generated::TupleExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/TuplePat.qll b/rust/ql/lib/codeql/rust/elements/TuplePat.qll
index f814215aec659..da56e42320342 100644
--- a/rust/ql/lib/codeql/rust/elements/TuplePat.qll
+++ b/rust/ql/lib/codeql/rust/elements/TuplePat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `TuplePat`.
+ * This module provides the public class `TuplePat`.
*/
private import codeql.rust.generated.TuplePat
+private import TuplePatImpl
-class TuplePat extends Generated::TuplePat { }
+final private class TuplePatImplFinal = TuplePatImpl;
+
+final class TuplePat extends TuplePatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/TuplePatImpl.qll b/rust/ql/lib/codeql/rust/elements/TuplePatImpl.qll
new file mode 100644
index 0000000000000..9d1fe03abf92c
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/TuplePatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `TuplePat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.TuplePat
+
+class TuplePatImpl extends Generated::TuplePatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/TupleStructPat.qll b/rust/ql/lib/codeql/rust/elements/TupleStructPat.qll
index e4c4ffb24ec5b..48e21366094e5 100644
--- a/rust/ql/lib/codeql/rust/elements/TupleStructPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/TupleStructPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `TupleStructPat`.
+ * This module provides the public class `TupleStructPat`.
*/
private import codeql.rust.generated.TupleStructPat
+private import TupleStructPatImpl
-class TupleStructPat extends Generated::TupleStructPat { }
+final private class TupleStructPatImplFinal = TupleStructPatImpl;
+
+final class TupleStructPat extends TupleStructPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/TupleStructPatImpl.qll b/rust/ql/lib/codeql/rust/elements/TupleStructPatImpl.qll
new file mode 100644
index 0000000000000..9ee454b379ee7
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/TupleStructPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `TupleStructPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.TupleStructPat
+
+class TupleStructPatImpl extends Generated::TupleStructPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/TypeRef.qll b/rust/ql/lib/codeql/rust/elements/TypeRef.qll
index 950ecbd9726a3..4e9f647a8548e 100644
--- a/rust/ql/lib/codeql/rust/elements/TypeRef.qll
+++ b/rust/ql/lib/codeql/rust/elements/TypeRef.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `TypeRef`.
+ * This module provides the public class `TypeRef`.
*/
private import codeql.rust.generated.TypeRef
+private import TypeRefImpl
-class TypeRef extends Generated::TypeRef { }
+final private class TypeRefImplFinal = TypeRefImpl;
+
+final class TypeRef extends TypeRefImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/TypeRefImpl.qll b/rust/ql/lib/codeql/rust/elements/TypeRefImpl.qll
new file mode 100644
index 0000000000000..8ec0cc6dd1ae0
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/TypeRefImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `TypeRef`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.TypeRef
+
+class TypeRefImpl extends Generated::TypeRefImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnaryOpExpr.qll b/rust/ql/lib/codeql/rust/elements/UnaryOpExpr.qll
index b0b3608b0c789..92e2990697d53 100644
--- a/rust/ql/lib/codeql/rust/elements/UnaryOpExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/UnaryOpExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `UnaryOpExpr`.
+ * This module provides the public class `UnaryOpExpr`.
*/
private import codeql.rust.generated.UnaryOpExpr
+private import UnaryOpExprImpl
-class UnaryOpExpr extends Generated::UnaryOpExpr { }
+final private class UnaryOpExprImplFinal = UnaryOpExprImpl;
+
+final class UnaryOpExpr extends UnaryOpExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnaryOpExprImpl.qll b/rust/ql/lib/codeql/rust/elements/UnaryOpExprImpl.qll
new file mode 100644
index 0000000000000..07ce63f4b584a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnaryOpExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `UnaryOpExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.UnaryOpExpr
+
+class UnaryOpExprImpl extends Generated::UnaryOpExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnderscoreExpr.qll b/rust/ql/lib/codeql/rust/elements/UnderscoreExpr.qll
index 420d50244077e..e88dd15965718 100644
--- a/rust/ql/lib/codeql/rust/elements/UnderscoreExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/UnderscoreExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `UnderscoreExpr`.
+ * This module provides the public class `UnderscoreExpr`.
*/
private import codeql.rust.generated.UnderscoreExpr
+private import UnderscoreExprImpl
-class UnderscoreExpr extends Generated::UnderscoreExpr { }
+final private class UnderscoreExprImplFinal = UnderscoreExprImpl;
+
+final class UnderscoreExpr extends UnderscoreExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnderscoreExprImpl.qll b/rust/ql/lib/codeql/rust/elements/UnderscoreExprImpl.qll
new file mode 100644
index 0000000000000..65880f57ec090
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnderscoreExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `UnderscoreExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.UnderscoreExpr
+
+class UnderscoreExprImpl extends Generated::UnderscoreExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/Unimplemented.qll b/rust/ql/lib/codeql/rust/elements/Unimplemented.qll
index 272d9538a9c56..cb2d4b01675ce 100644
--- a/rust/ql/lib/codeql/rust/elements/Unimplemented.qll
+++ b/rust/ql/lib/codeql/rust/elements/Unimplemented.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `Unimplemented`.
+ * This module provides the public class `Unimplemented`.
*/
private import codeql.rust.generated.Unimplemented
+private import UnimplementedImpl
-class Unimplemented extends Generated::Unimplemented { }
+final private class UnimplementedImplFinal = UnimplementedImpl;
+
+final class Unimplemented extends UnimplementedImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnimplementedImpl.qll b/rust/ql/lib/codeql/rust/elements/UnimplementedImpl.qll
new file mode 100644
index 0000000000000..4621a44b15761
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnimplementedImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `Unimplemented`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.Unimplemented
+
+class UnimplementedImpl extends Generated::UnimplementedImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnknownFile.qll b/rust/ql/lib/codeql/rust/elements/UnknownFile.qll
index 30c2ab8ba1c37..2e3a976167b49 100644
--- a/rust/ql/lib/codeql/rust/elements/UnknownFile.qll
+++ b/rust/ql/lib/codeql/rust/elements/UnknownFile.qll
@@ -1,9 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `UnknownFile`.
+ * This module provides the public class `UnknownFile`.
*/
private import codeql.rust.generated.UnknownFile
+private import UnknownFileImpl
-class UnknownFile extends Generated::UnknownFile {
- override string getName() { result = "" }
-}
+final private class UnknownFileImplFinal = UnknownFileImpl;
+
+final class UnknownFile extends UnknownFileImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnknownFileImpl.qll b/rust/ql/lib/codeql/rust/elements/UnknownFileImpl.qll
new file mode 100644
index 0000000000000..51c6824c3cc9c
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnknownFileImpl.qll
@@ -0,0 +1,9 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `UnknownFile`.
+ */
+
+private import codeql.rust.generated.UnknownFile
+
+class UnknownFileImpl extends Generated::UnknownFileImpl {
+ override string getName() { result = "" }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/UnknownLocation.qll b/rust/ql/lib/codeql/rust/elements/UnknownLocation.qll
index 0374aa833b866..b1f6d436c5cb7 100644
--- a/rust/ql/lib/codeql/rust/elements/UnknownLocation.qll
+++ b/rust/ql/lib/codeql/rust/elements/UnknownLocation.qll
@@ -1,21 +1,11 @@
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `UnknownLocation`.
+ * This module provides the public class `UnknownLocation`.
*/
private import codeql.rust.generated.UnknownLocation
-private import codeql.rust.elements.File
-private import codeql.rust.elements.UnknownFile
+private import UnknownLocationImpl
-class UnknownLocation extends Generated::UnknownLocation {
- override File getFile() { result instanceof UnknownFile }
+final private class UnknownLocationImplFinal = UnknownLocationImpl;
- override int getStartLine() { result = 0 }
-
- override int getStartColumn() { result = 0 }
-
- override int getEndLine() { result = 0 }
-
- override int getEndColumn() { result = 0 }
-
- override string toString() { result = "UnknownLocation" }
-}
+final class UnknownLocation extends UnknownLocationImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnknownLocationImpl.qll b/rust/ql/lib/codeql/rust/elements/UnknownLocationImpl.qll
new file mode 100644
index 0000000000000..422eab95fef00
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnknownLocationImpl.qll
@@ -0,0 +1,21 @@
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `UnknownLocation`.
+ */
+
+private import codeql.rust.generated.UnknownLocation
+private import codeql.rust.elements.File
+private import codeql.rust.elements.UnknownFile
+
+class UnknownLocationImpl extends Generated::UnknownLocationImpl {
+ override File getFile() { result instanceof UnknownFile }
+
+ override int getStartLine() { result = 0 }
+
+ override int getStartColumn() { result = 0 }
+
+ override int getEndLine() { result = 0 }
+
+ override int getEndColumn() { result = 0 }
+
+ override string toString() { result = "UnknownLocation" }
+}
diff --git a/rust/ql/lib/codeql/rust/elements/UnsafeBlockExpr.qll b/rust/ql/lib/codeql/rust/elements/UnsafeBlockExpr.qll
index 514cfeb0c97e4..480317c2f5c90 100644
--- a/rust/ql/lib/codeql/rust/elements/UnsafeBlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/UnsafeBlockExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `UnsafeBlockExpr`.
+ * This module provides the public class `UnsafeBlockExpr`.
*/
private import codeql.rust.generated.UnsafeBlockExpr
+private import UnsafeBlockExprImpl
-class UnsafeBlockExpr extends Generated::UnsafeBlockExpr { }
+final private class UnsafeBlockExprImplFinal = UnsafeBlockExprImpl;
+
+final class UnsafeBlockExpr extends UnsafeBlockExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/UnsafeBlockExprImpl.qll b/rust/ql/lib/codeql/rust/elements/UnsafeBlockExprImpl.qll
new file mode 100644
index 0000000000000..521cb1703d16a
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/UnsafeBlockExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `UnsafeBlockExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.UnsafeBlockExpr
+
+class UnsafeBlockExprImpl extends Generated::UnsafeBlockExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/WildPat.qll b/rust/ql/lib/codeql/rust/elements/WildPat.qll
index 346b61e8c2b0d..48c8166f7a1df 100644
--- a/rust/ql/lib/codeql/rust/elements/WildPat.qll
+++ b/rust/ql/lib/codeql/rust/elements/WildPat.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `WildPat`.
+ * This module provides the public class `WildPat`.
*/
private import codeql.rust.generated.WildPat
+private import WildPatImpl
-class WildPat extends Generated::WildPat { }
+final private class WildPatImplFinal = WildPatImpl;
+
+final class WildPat extends WildPatImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/WildPatImpl.qll b/rust/ql/lib/codeql/rust/elements/WildPatImpl.qll
new file mode 100644
index 0000000000000..db1bdf0861f90
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/WildPatImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `WildPat`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.WildPat
+
+class WildPatImpl extends Generated::WildPatImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/YeetExpr.qll b/rust/ql/lib/codeql/rust/elements/YeetExpr.qll
index 8cab74bd9535e..9ee993cc48511 100644
--- a/rust/ql/lib/codeql/rust/elements/YeetExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/YeetExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `YeetExpr`.
+ * This module provides the public class `YeetExpr`.
*/
private import codeql.rust.generated.YeetExpr
+private import YeetExprImpl
-class YeetExpr extends Generated::YeetExpr { }
+final private class YeetExprImplFinal = YeetExprImpl;
+
+final class YeetExpr extends YeetExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/YeetExprImpl.qll b/rust/ql/lib/codeql/rust/elements/YeetExprImpl.qll
new file mode 100644
index 0000000000000..4ac72b4c9fdbf
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/YeetExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `YeetExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.YeetExpr
+
+class YeetExprImpl extends Generated::YeetExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/elements/YieldExpr.qll b/rust/ql/lib/codeql/rust/elements/YieldExpr.qll
index f9aed8f7e1c1e..7905a5bcdee13 100644
--- a/rust/ql/lib/codeql/rust/elements/YieldExpr.qll
+++ b/rust/ql/lib/codeql/rust/elements/YieldExpr.qll
@@ -1,8 +1,11 @@
-// generated by codegen, remove this comment if you wish to edit this file
+// generated by codegen, do not edit
/**
- * This module provides a hand-modifiable wrapper around the generated class `YieldExpr`.
+ * This module provides the public class `YieldExpr`.
*/
private import codeql.rust.generated.YieldExpr
+private import YieldExprImpl
-class YieldExpr extends Generated::YieldExpr { }
+final private class YieldExprImplFinal = YieldExprImpl;
+
+final class YieldExpr extends YieldExprImplFinal { }
diff --git a/rust/ql/lib/codeql/rust/elements/YieldExprImpl.qll b/rust/ql/lib/codeql/rust/elements/YieldExprImpl.qll
new file mode 100644
index 0000000000000..bb7f1dff3c742
--- /dev/null
+++ b/rust/ql/lib/codeql/rust/elements/YieldExprImpl.qll
@@ -0,0 +1,10 @@
+// generated by codegen, remove this comment if you wish to edit this file
+/**
+ * This module provides a hand-modifiable wrapper around the generated class `YieldExpr`.
+ *
+ * INTERNAL: Do not use.
+ */
+
+private import codeql.rust.generated.YieldExpr
+
+class YieldExprImpl extends Generated::YieldExprImpl { }
diff --git a/rust/ql/lib/codeql/rust/generated/ArrayExpr.qll b/rust/ql/lib/codeql/rust/generated/ArrayExpr.qll
index 50ec9dd97cada..bc9659070e428 100644
--- a/rust/ql/lib/codeql/rust/generated/ArrayExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ArrayExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ArrayExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `ArrayExpr` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ArrayExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ArrayExprImpl` class directly.
* Use the subclass `ArrayExpr`, where the following predicates are available.
*/
- class ArrayExpr extends Synth::TArrayExpr, Expr { }
+ class ArrayExprImpl extends Synth::TArrayExpr, ExprImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/AstNode.qll b/rust/ql/lib/codeql/rust/generated/AstNode.qll
index e4e922b64e2ad..5745cfad30a4c 100644
--- a/rust/ql/lib/codeql/rust/generated/AstNode.qll
+++ b/rust/ql/lib/codeql/rust/generated/AstNode.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `AstNode`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Locatable
+import codeql.rust.elements.LocatableImpl
/**
* INTERNAL: This module contains the fully generated definition of `AstNode` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.Locatable
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::AstNode` class directly.
+ * INTERNAL: Do not reference the `Generated::AstNodeImpl` class directly.
* Use the subclass `AstNode`, where the following predicates are available.
*/
- class AstNode extends Synth::TAstNode, Locatable { }
+ class AstNodeImpl extends Synth::TAstNode, LocatableImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/AsyncBlockExpr.qll b/rust/ql/lib/codeql/rust/generated/AsyncBlockExpr.qll
index 17b7d1b630d66..34ffea294503c 100644
--- a/rust/ql/lib/codeql/rust/generated/AsyncBlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/AsyncBlockExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `AsyncBlockExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.BlockExprBase
+import codeql.rust.elements.BlockExprBaseImpl
/**
* INTERNAL: This module contains the fully generated definition of `AsyncBlockExpr` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.BlockExprBase
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::AsyncBlockExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::AsyncBlockExprImpl` class directly.
* Use the subclass `AsyncBlockExpr`, where the following predicates are available.
*/
- class AsyncBlockExpr extends Synth::TAsyncBlockExpr, BlockExprBase {
+ class AsyncBlockExprImpl extends Synth::TAsyncBlockExpr, BlockExprBaseImpl {
override string getAPrimaryQlClass() { result = "AsyncBlockExpr" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/AwaitExpr.qll b/rust/ql/lib/codeql/rust/generated/AwaitExpr.qll
index 4c982b7c249e6..559f7ec3ef0d1 100644
--- a/rust/ql/lib/codeql/rust/generated/AwaitExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/AwaitExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `AwaitExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `AwaitExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::AwaitExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::AwaitExprImpl` class directly.
* Use the subclass `AwaitExpr`, where the following predicates are available.
*/
- class AwaitExpr extends Synth::TAwaitExpr, Expr {
+ class AwaitExprImpl extends Synth::TAwaitExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "AwaitExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BecomeExpr.qll b/rust/ql/lib/codeql/rust/generated/BecomeExpr.qll
index 5af91bbd3ff38..12cc1e3abf46b 100644
--- a/rust/ql/lib/codeql/rust/generated/BecomeExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/BecomeExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BecomeExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `BecomeExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BecomeExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::BecomeExprImpl` class directly.
* Use the subclass `BecomeExpr`, where the following predicates are available.
*/
- class BecomeExpr extends Synth::TBecomeExpr, Expr {
+ class BecomeExprImpl extends Synth::TBecomeExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "BecomeExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BinaryOpExpr.qll b/rust/ql/lib/codeql/rust/generated/BinaryOpExpr.qll
index 3f790dfec9a9d..861ed72cf4e7c 100644
--- a/rust/ql/lib/codeql/rust/generated/BinaryOpExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/BinaryOpExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BinaryOpExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `BinaryOpExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BinaryOpExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::BinaryOpExprImpl` class directly.
* Use the subclass `BinaryOpExpr`, where the following predicates are available.
*/
- class BinaryOpExpr extends Synth::TBinaryOpExpr, Expr {
+ class BinaryOpExprImpl extends Synth::TBinaryOpExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "BinaryOpExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BindPat.qll b/rust/ql/lib/codeql/rust/generated/BindPat.qll
index b58d242258517..8def92fc8daa5 100644
--- a/rust/ql/lib/codeql/rust/generated/BindPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/BindPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BindPat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `BindPat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BindPat` class directly.
+ * INTERNAL: Do not reference the `Generated::BindPatImpl` class directly.
* Use the subclass `BindPat`, where the following predicates are available.
*/
- class BindPat extends Synth::TBindPat, Pat {
+ class BindPatImpl extends Synth::TBindPat, PatImpl {
override string getAPrimaryQlClass() { result = "BindPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BlockExpr.qll b/rust/ql/lib/codeql/rust/generated/BlockExpr.qll
index 52ca4526377d9..2ddbd7486285c 100644
--- a/rust/ql/lib/codeql/rust/generated/BlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/BlockExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BlockExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.BlockExprBase
+import codeql.rust.elements.BlockExprBaseImpl
import codeql.rust.elements.Label
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Label
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BlockExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::BlockExprImpl` class directly.
* Use the subclass `BlockExpr`, where the following predicates are available.
*/
- class BlockExpr extends Synth::TBlockExpr, BlockExprBase {
+ class BlockExprImpl extends Synth::TBlockExpr, BlockExprBaseImpl {
override string getAPrimaryQlClass() { result = "BlockExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BlockExprBase.qll b/rust/ql/lib/codeql/rust/generated/BlockExprBase.qll
index 3c565d285d5c3..7414f783ca200 100644
--- a/rust/ql/lib/codeql/rust/generated/BlockExprBase.qll
+++ b/rust/ql/lib/codeql/rust/generated/BlockExprBase.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BlockExprBase`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Stmt
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Stmt
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BlockExprBase` class directly.
+ * INTERNAL: Do not reference the `Generated::BlockExprBaseImpl` class directly.
* Use the subclass `BlockExprBase`, where the following predicates are available.
*/
- class BlockExprBase extends Synth::TBlockExprBase, Expr {
+ class BlockExprBaseImpl extends Synth::TBlockExprBase, ExprImpl {
/**
* Gets the `index`th statement of this block expression base (0-based).
*/
diff --git a/rust/ql/lib/codeql/rust/generated/BoxExpr.qll b/rust/ql/lib/codeql/rust/generated/BoxExpr.qll
index 4a367bc7b2f7b..dae63265b9d95 100644
--- a/rust/ql/lib/codeql/rust/generated/BoxExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/BoxExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BoxExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `BoxExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BoxExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::BoxExprImpl` class directly.
* Use the subclass `BoxExpr`, where the following predicates are available.
*/
- class BoxExpr extends Synth::TBoxExpr, Expr {
+ class BoxExprImpl extends Synth::TBoxExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "BoxExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BoxPat.qll b/rust/ql/lib/codeql/rust/generated/BoxPat.qll
index 690fc5155d7ce..6e47355c806c7 100644
--- a/rust/ql/lib/codeql/rust/generated/BoxPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/BoxPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BoxPat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `BoxPat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BoxPat` class directly.
+ * INTERNAL: Do not reference the `Generated::BoxPatImpl` class directly.
* Use the subclass `BoxPat`, where the following predicates are available.
*/
- class BoxPat extends Synth::TBoxPat, Pat {
+ class BoxPatImpl extends Synth::TBoxPat, PatImpl {
override string getAPrimaryQlClass() { result = "BoxPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/BreakExpr.qll b/rust/ql/lib/codeql/rust/generated/BreakExpr.qll
index 9e4d90b4973ec..a96e25b694451 100644
--- a/rust/ql/lib/codeql/rust/generated/BreakExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/BreakExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `BreakExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Label
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Label
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::BreakExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::BreakExprImpl` class directly.
* Use the subclass `BreakExpr`, where the following predicates are available.
*/
- class BreakExpr extends Synth::TBreakExpr, Expr {
+ class BreakExprImpl extends Synth::TBreakExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "BreakExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/CallExpr.qll b/rust/ql/lib/codeql/rust/generated/CallExpr.qll
index 0ca5f2b604d5d..90a10fe8a7034 100644
--- a/rust/ql/lib/codeql/rust/generated/CallExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/CallExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `CallExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `CallExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::CallExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::CallExprImpl` class directly.
* Use the subclass `CallExpr`, where the following predicates are available.
*/
- class CallExpr extends Synth::TCallExpr, Expr {
+ class CallExprImpl extends Synth::TCallExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "CallExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/CastExpr.qll b/rust/ql/lib/codeql/rust/generated/CastExpr.qll
index f9b717f9114cf..281aa36d2e4e6 100644
--- a/rust/ql/lib/codeql/rust/generated/CastExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/CastExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `CastExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.TypeRef
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.TypeRef
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::CastExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::CastExprImpl` class directly.
* Use the subclass `CastExpr`, where the following predicates are available.
*/
- class CastExpr extends Synth::TCastExpr, Expr {
+ class CastExprImpl extends Synth::TCastExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "CastExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ClosureExpr.qll b/rust/ql/lib/codeql/rust/generated/ClosureExpr.qll
index 2c1b31af0264e..c521d3dcb70ea 100644
--- a/rust/ql/lib/codeql/rust/generated/ClosureExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ClosureExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ClosureExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Pat
import codeql.rust.elements.TypeRef
@@ -16,10 +17,10 @@ import codeql.rust.elements.TypeRef
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ClosureExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ClosureExprImpl` class directly.
* Use the subclass `ClosureExpr`, where the following predicates are available.
*/
- class ClosureExpr extends Synth::TClosureExpr, Expr {
+ class ClosureExprImpl extends Synth::TClosureExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "ClosureExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ConstBlockPat.qll b/rust/ql/lib/codeql/rust/generated/ConstBlockPat.qll
index f741124f180c7..a417f07a50b8b 100644
--- a/rust/ql/lib/codeql/rust/generated/ConstBlockPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/ConstBlockPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ConstBlockPat`.
* INTERNAL: Do not import directly.
@@ -7,7 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `ConstBlockPat` and should not
@@ -15,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ConstBlockPat` class directly.
+ * INTERNAL: Do not reference the `Generated::ConstBlockPatImpl` class directly.
* Use the subclass `ConstBlockPat`, where the following predicates are available.
*/
- class ConstBlockPat extends Synth::TConstBlockPat, Pat {
+ class ConstBlockPatImpl extends Synth::TConstBlockPat, PatImpl {
override string getAPrimaryQlClass() { result = "ConstBlockPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ConstExpr.qll b/rust/ql/lib/codeql/rust/generated/ConstExpr.qll
index 1c11dba419c1a..9febd74bb4412 100644
--- a/rust/ql/lib/codeql/rust/generated/ConstExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ConstExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ConstExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `ConstExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ConstExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ConstExprImpl` class directly.
* Use the subclass `ConstExpr`, where the following predicates are available.
*/
- class ConstExpr extends Synth::TConstExpr, Expr {
+ class ConstExprImpl extends Synth::TConstExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "ConstExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ContinueExpr.qll b/rust/ql/lib/codeql/rust/generated/ContinueExpr.qll
index b03aed387ae9d..71303ff1900f9 100644
--- a/rust/ql/lib/codeql/rust/generated/ContinueExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ContinueExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ContinueExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Label
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Label
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ContinueExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ContinueExprImpl` class directly.
* Use the subclass `ContinueExpr`, where the following predicates are available.
*/
- class ContinueExpr extends Synth::TContinueExpr, Expr {
+ class ContinueExprImpl extends Synth::TContinueExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "ContinueExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/DbFile.qll b/rust/ql/lib/codeql/rust/generated/DbFile.qll
index 7128045152c2d..e3a5066486d9a 100644
--- a/rust/ql/lib/codeql/rust/generated/DbFile.qll
+++ b/rust/ql/lib/codeql/rust/generated/DbFile.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `DbFile`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.File
+import codeql.rust.elements.FileImpl
/**
* INTERNAL: This module contains the fully generated definition of `DbFile` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.File
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::DbFile` class directly.
+ * INTERNAL: Do not reference the `Generated::DbFileImpl` class directly.
* Use the subclass `DbFile`, where the following predicates are available.
*/
- class DbFile extends Synth::TDbFile, File {
+ class DbFileImpl extends Synth::TDbFile, FileImpl {
override string getAPrimaryQlClass() { result = "DbFile" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/DbLocation.qll b/rust/ql/lib/codeql/rust/generated/DbLocation.qll
index a0944fa4b6de5..4b8ea79d4582d 100644
--- a/rust/ql/lib/codeql/rust/generated/DbLocation.qll
+++ b/rust/ql/lib/codeql/rust/generated/DbLocation.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `DbLocation`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Location
+import codeql.rust.elements.LocationImpl
/**
* INTERNAL: This module contains the fully generated definition of `DbLocation` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Location
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::DbLocation` class directly.
+ * INTERNAL: Do not reference the `Generated::DbLocationImpl` class directly.
* Use the subclass `DbLocation`, where the following predicates are available.
*/
- class DbLocation extends Synth::TDbLocation, Location {
+ class DbLocationImpl extends Synth::TDbLocation, LocationImpl {
override string getAPrimaryQlClass() { result = "DbLocation" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/Declaration.qll b/rust/ql/lib/codeql/rust/generated/Declaration.qll
index 0cc2a30f178be..d07bfcee5f7d5 100644
--- a/rust/ql/lib/codeql/rust/generated/Declaration.qll
+++ b/rust/ql/lib/codeql/rust/generated/Declaration.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Declaration`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Declaration` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Declaration` class directly.
+ * INTERNAL: Do not reference the `Generated::DeclarationImpl` class directly.
* Use the subclass `Declaration`, where the following predicates are available.
*/
- class Declaration extends Synth::TDeclaration, AstNode { }
+ class DeclarationImpl extends Synth::TDeclaration, AstNodeImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/Element.qll b/rust/ql/lib/codeql/rust/generated/Element.qll
index 19dbb9edb14c8..c0fbd83e0fa33 100644
--- a/rust/ql/lib/codeql/rust/generated/Element.qll
+++ b/rust/ql/lib/codeql/rust/generated/Element.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Element`.
* INTERNAL: Do not import directly.
@@ -6,6 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
+import codeql.rust.elements.Element
/**
* INTERNAL: This module contains the fully generated definition of `Element` and should not
@@ -13,10 +14,10 @@ private import codeql.rust.generated.Raw
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Element` class directly.
+ * INTERNAL: Do not reference the `Generated::ElementImpl` class directly.
* Use the subclass `Element`, where the following predicates are available.
*/
- class Element extends Synth::TElement {
+ class ElementImpl extends Synth::TElement {
/**
* Gets the string representation of this element.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/ElementListExpr.qll b/rust/ql/lib/codeql/rust/generated/ElementListExpr.qll
index ae6ac160ef096..f682261c9675e 100644
--- a/rust/ql/lib/codeql/rust/generated/ElementListExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ElementListExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ElementListExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.ArrayExpr
+import codeql.rust.elements.ArrayExprImpl
import codeql.rust.elements.Expr
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ElementListExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ElementListExprImpl` class directly.
* Use the subclass `ElementListExpr`, where the following predicates are available.
*/
- class ElementListExpr extends Synth::TElementListExpr, ArrayExpr {
+ class ElementListExprImpl extends Synth::TElementListExpr, ArrayExprImpl {
override string getAPrimaryQlClass() { result = "ElementListExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/Expr.qll b/rust/ql/lib/codeql/rust/generated/Expr.qll
index f395ff11840e4..ea7d30825ad2e 100644
--- a/rust/ql/lib/codeql/rust/generated/Expr.qll
+++ b/rust/ql/lib/codeql/rust/generated/Expr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Expr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Expr` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Expr` class directly.
+ * INTERNAL: Do not reference the `Generated::ExprImpl` class directly.
* Use the subclass `Expr`, where the following predicates are available.
*/
- class Expr extends Synth::TExpr, AstNode { }
+ class ExprImpl extends Synth::TExpr, AstNodeImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/ExprStmt.qll b/rust/ql/lib/codeql/rust/generated/ExprStmt.qll
index 08d3dfc5a863e..7e75777b434fb 100644
--- a/rust/ql/lib/codeql/rust/generated/ExprStmt.qll
+++ b/rust/ql/lib/codeql/rust/generated/ExprStmt.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ExprStmt`.
* INTERNAL: Do not import directly.
@@ -7,7 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
-import codeql.rust.elements.Stmt
+import codeql.rust.elements.StmtImpl
/**
* INTERNAL: This module contains the fully generated definition of `ExprStmt` and should not
@@ -15,10 +15,10 @@ import codeql.rust.elements.Stmt
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ExprStmt` class directly.
+ * INTERNAL: Do not reference the `Generated::ExprStmtImpl` class directly.
* Use the subclass `ExprStmt`, where the following predicates are available.
*/
- class ExprStmt extends Synth::TExprStmt, Stmt {
+ class ExprStmtImpl extends Synth::TExprStmt, StmtImpl {
override string getAPrimaryQlClass() { result = "ExprStmt" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/FieldExpr.qll b/rust/ql/lib/codeql/rust/generated/FieldExpr.qll
index 82688dbf44b49..e0742de76b17e 100644
--- a/rust/ql/lib/codeql/rust/generated/FieldExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/FieldExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `FieldExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `FieldExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::FieldExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::FieldExprImpl` class directly.
* Use the subclass `FieldExpr`, where the following predicates are available.
*/
- class FieldExpr extends Synth::TFieldExpr, Expr {
+ class FieldExprImpl extends Synth::TFieldExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "FieldExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/File.qll b/rust/ql/lib/codeql/rust/generated/File.qll
index c5ebe20092c94..ee5b9ac633029 100644
--- a/rust/ql/lib/codeql/rust/generated/File.qll
+++ b/rust/ql/lib/codeql/rust/generated/File.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `File`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Element
+import codeql.rust.elements.ElementImpl
/**
* INTERNAL: This module contains the fully generated definition of `File` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Element
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::File` class directly.
+ * INTERNAL: Do not reference the `Generated::FileImpl` class directly.
* Use the subclass `File`, where the following predicates are available.
*/
- class File extends Synth::TFile, Element {
+ class FileImpl extends Synth::TFile, ElementImpl {
/**
* Gets the name of this file.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/Function.qll b/rust/ql/lib/codeql/rust/generated/Function.qll
index f0c053f97152f..ef8f57cedd083 100644
--- a/rust/ql/lib/codeql/rust/generated/Function.qll
+++ b/rust/ql/lib/codeql/rust/generated/Function.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Function`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Declaration
+import codeql.rust.elements.DeclarationImpl
import codeql.rust.elements.Expr
/**
@@ -25,10 +25,10 @@ module Generated {
* fn bar();
* }
* ```
- * INTERNAL: Do not reference the `Generated::Function` class directly.
+ * INTERNAL: Do not reference the `Generated::FunctionImpl` class directly.
* Use the subclass `Function`, where the following predicates are available.
*/
- class Function extends Synth::TFunction, Declaration {
+ class FunctionImpl extends Synth::TFunction, DeclarationImpl {
override string getAPrimaryQlClass() { result = "Function" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/IfExpr.qll b/rust/ql/lib/codeql/rust/generated/IfExpr.qll
index 4b90ac9b50ace..30bd98f704edd 100644
--- a/rust/ql/lib/codeql/rust/generated/IfExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/IfExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `IfExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `IfExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::IfExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::IfExprImpl` class directly.
* Use the subclass `IfExpr`, where the following predicates are available.
*/
- class IfExpr extends Synth::TIfExpr, Expr {
+ class IfExprImpl extends Synth::TIfExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "IfExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/IndexExpr.qll b/rust/ql/lib/codeql/rust/generated/IndexExpr.qll
index fd6021f30145b..9ffe91739d543 100644
--- a/rust/ql/lib/codeql/rust/generated/IndexExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/IndexExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `IndexExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `IndexExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::IndexExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::IndexExprImpl` class directly.
* Use the subclass `IndexExpr`, where the following predicates are available.
*/
- class IndexExpr extends Synth::TIndexExpr, Expr {
+ class IndexExprImpl extends Synth::TIndexExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "IndexExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/InlineAsmExpr.qll b/rust/ql/lib/codeql/rust/generated/InlineAsmExpr.qll
index 4478cfee53b59..ee654c4495fcf 100644
--- a/rust/ql/lib/codeql/rust/generated/InlineAsmExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/InlineAsmExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `InlineAsmExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `InlineAsmExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::InlineAsmExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::InlineAsmExprImpl` class directly.
* Use the subclass `InlineAsmExpr`, where the following predicates are available.
*/
- class InlineAsmExpr extends Synth::TInlineAsmExpr, Expr {
+ class InlineAsmExprImpl extends Synth::TInlineAsmExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "InlineAsmExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ItemStmt.qll b/rust/ql/lib/codeql/rust/generated/ItemStmt.qll
index 2be48967c7cbe..a174563cfedd2 100644
--- a/rust/ql/lib/codeql/rust/generated/ItemStmt.qll
+++ b/rust/ql/lib/codeql/rust/generated/ItemStmt.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ItemStmt`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Stmt
+import codeql.rust.elements.StmtImpl
/**
* INTERNAL: This module contains the fully generated definition of `ItemStmt` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Stmt
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ItemStmt` class directly.
+ * INTERNAL: Do not reference the `Generated::ItemStmtImpl` class directly.
* Use the subclass `ItemStmt`, where the following predicates are available.
*/
- class ItemStmt extends Synth::TItemStmt, Stmt {
+ class ItemStmtImpl extends Synth::TItemStmt, StmtImpl {
override string getAPrimaryQlClass() { result = "ItemStmt" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/Label.qll b/rust/ql/lib/codeql/rust/generated/Label.qll
index 6922dd193acde..89a621a7d8667 100644
--- a/rust/ql/lib/codeql/rust/generated/Label.qll
+++ b/rust/ql/lib/codeql/rust/generated/Label.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Label`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Label` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Label` class directly.
+ * INTERNAL: Do not reference the `Generated::LabelImpl` class directly.
* Use the subclass `Label`, where the following predicates are available.
*/
- class Label extends Synth::TLabel, AstNode {
+ class LabelImpl extends Synth::TLabel, AstNodeImpl {
override string getAPrimaryQlClass() { result = "Label" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/LetExpr.qll b/rust/ql/lib/codeql/rust/generated/LetExpr.qll
index a4dccae487607..f520540a5f452 100644
--- a/rust/ql/lib/codeql/rust/generated/LetExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/LetExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `LetExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Pat
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::LetExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::LetExprImpl` class directly.
* Use the subclass `LetExpr`, where the following predicates are available.
*/
- class LetExpr extends Synth::TLetExpr, Expr {
+ class LetExprImpl extends Synth::TLetExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "LetExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/LetStmt.qll b/rust/ql/lib/codeql/rust/generated/LetStmt.qll
index 8f52f441dfc70..f708e0f6ce5ca 100644
--- a/rust/ql/lib/codeql/rust/generated/LetStmt.qll
+++ b/rust/ql/lib/codeql/rust/generated/LetStmt.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `LetStmt`.
* INTERNAL: Do not import directly.
@@ -8,7 +8,7 @@ private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
import codeql.rust.elements.Pat
-import codeql.rust.elements.Stmt
+import codeql.rust.elements.StmtImpl
import codeql.rust.elements.TypeRef
/**
@@ -17,10 +17,10 @@ import codeql.rust.elements.TypeRef
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::LetStmt` class directly.
+ * INTERNAL: Do not reference the `Generated::LetStmtImpl` class directly.
* Use the subclass `LetStmt`, where the following predicates are available.
*/
- class LetStmt extends Synth::TLetStmt, Stmt {
+ class LetStmtImpl extends Synth::TLetStmt, StmtImpl {
override string getAPrimaryQlClass() { result = "LetStmt" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/LitPat.qll b/rust/ql/lib/codeql/rust/generated/LitPat.qll
index 1133ee3d1f1aa..3103a895a0a0e 100644
--- a/rust/ql/lib/codeql/rust/generated/LitPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/LitPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `LitPat`.
* INTERNAL: Do not import directly.
@@ -7,7 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `LitPat` and should not
@@ -15,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::LitPat` class directly.
+ * INTERNAL: Do not reference the `Generated::LitPatImpl` class directly.
* Use the subclass `LitPat`, where the following predicates are available.
*/
- class LitPat extends Synth::TLitPat, Pat {
+ class LitPatImpl extends Synth::TLitPat, PatImpl {
override string getAPrimaryQlClass() { result = "LitPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/LiteralExpr.qll b/rust/ql/lib/codeql/rust/generated/LiteralExpr.qll
index c54501545923b..8c63e4a6685be 100644
--- a/rust/ql/lib/codeql/rust/generated/LiteralExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/LiteralExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `LiteralExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `LiteralExpr` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::LiteralExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::LiteralExprImpl` class directly.
* Use the subclass `LiteralExpr`, where the following predicates are available.
*/
- class LiteralExpr extends Synth::TLiteralExpr, Expr {
+ class LiteralExprImpl extends Synth::TLiteralExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "LiteralExpr" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/Locatable.qll b/rust/ql/lib/codeql/rust/generated/Locatable.qll
index a0cdb9a007b56..acddb30d7967e 100644
--- a/rust/ql/lib/codeql/rust/generated/Locatable.qll
+++ b/rust/ql/lib/codeql/rust/generated/Locatable.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Locatable`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Element
+import codeql.rust.elements.ElementImpl
import codeql.rust.elements.Location
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Location
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Locatable` class directly.
+ * INTERNAL: Do not reference the `Generated::LocatableImpl` class directly.
* Use the subclass `Locatable`, where the following predicates are available.
*/
- class Locatable extends Synth::TLocatable, Element {
+ class LocatableImpl extends Synth::TLocatable, ElementImpl {
/**
* Gets the location of this locatable, if it exists.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/Location.qll b/rust/ql/lib/codeql/rust/generated/Location.qll
index dac13d4a4188f..502c4a3ec2170 100644
--- a/rust/ql/lib/codeql/rust/generated/Location.qll
+++ b/rust/ql/lib/codeql/rust/generated/Location.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Location`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Element
+import codeql.rust.elements.ElementImpl
import codeql.rust.elements.File
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.File
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Location` class directly.
+ * INTERNAL: Do not reference the `Generated::LocationImpl` class directly.
* Use the subclass `Location`, where the following predicates are available.
*/
- class Location extends Synth::TLocation, Element {
+ class LocationImpl extends Synth::TLocation, ElementImpl {
/**
* Gets the file of this location.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/LoopExpr.qll b/rust/ql/lib/codeql/rust/generated/LoopExpr.qll
index c4479efdb1af5..9369636b3ad96 100644
--- a/rust/ql/lib/codeql/rust/generated/LoopExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/LoopExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `LoopExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Label
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Label
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::LoopExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::LoopExprImpl` class directly.
* Use the subclass `LoopExpr`, where the following predicates are available.
*/
- class LoopExpr extends Synth::TLoopExpr, Expr {
+ class LoopExprImpl extends Synth::TLoopExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "LoopExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/MatchArm.qll b/rust/ql/lib/codeql/rust/generated/MatchArm.qll
index cec99d17c3214..529255c19fe54 100644
--- a/rust/ql/lib/codeql/rust/generated/MatchArm.qll
+++ b/rust/ql/lib/codeql/rust/generated/MatchArm.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `MatchArm`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
import codeql.rust.elements.Expr
import codeql.rust.elements.Pat
@@ -16,10 +16,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::MatchArm` class directly.
+ * INTERNAL: Do not reference the `Generated::MatchArmImpl` class directly.
* Use the subclass `MatchArm`, where the following predicates are available.
*/
- class MatchArm extends Synth::TMatchArm, AstNode {
+ class MatchArmImpl extends Synth::TMatchArm, AstNodeImpl {
override string getAPrimaryQlClass() { result = "MatchArm" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/MatchExpr.qll b/rust/ql/lib/codeql/rust/generated/MatchExpr.qll
index 87569d02ba026..7c296b25ae8d6 100644
--- a/rust/ql/lib/codeql/rust/generated/MatchExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/MatchExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `MatchExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.MatchArm
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.MatchArm
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::MatchExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::MatchExprImpl` class directly.
* Use the subclass `MatchExpr`, where the following predicates are available.
*/
- class MatchExpr extends Synth::TMatchExpr, Expr {
+ class MatchExprImpl extends Synth::TMatchExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "MatchExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/MethodCallExpr.qll b/rust/ql/lib/codeql/rust/generated/MethodCallExpr.qll
index 18eacc9dc2029..4f744fe502027 100644
--- a/rust/ql/lib/codeql/rust/generated/MethodCallExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/MethodCallExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `MethodCallExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Unimplemented
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::MethodCallExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::MethodCallExprImpl` class directly.
* Use the subclass `MethodCallExpr`, where the following predicates are available.
*/
- class MethodCallExpr extends Synth::TMethodCallExpr, Expr {
+ class MethodCallExprImpl extends Synth::TMethodCallExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "MethodCallExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/MissingExpr.qll b/rust/ql/lib/codeql/rust/generated/MissingExpr.qll
index 250c639fbeb8e..c2b7da84c3f0a 100644
--- a/rust/ql/lib/codeql/rust/generated/MissingExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/MissingExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `MissingExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `MissingExpr` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::MissingExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::MissingExprImpl` class directly.
* Use the subclass `MissingExpr`, where the following predicates are available.
*/
- class MissingExpr extends Synth::TMissingExpr, Expr {
+ class MissingExprImpl extends Synth::TMissingExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "MissingExpr" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/MissingPat.qll b/rust/ql/lib/codeql/rust/generated/MissingPat.qll
index fb8af9f5f5b89..2239f9ca80118 100644
--- a/rust/ql/lib/codeql/rust/generated/MissingPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/MissingPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `MissingPat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `MissingPat` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::MissingPat` class directly.
+ * INTERNAL: Do not reference the `Generated::MissingPatImpl` class directly.
* Use the subclass `MissingPat`, where the following predicates are available.
*/
- class MissingPat extends Synth::TMissingPat, Pat {
+ class MissingPatImpl extends Synth::TMissingPat, PatImpl {
override string getAPrimaryQlClass() { result = "MissingPat" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/Module.qll b/rust/ql/lib/codeql/rust/generated/Module.qll
index ae5100ee9d8f4..3c219541f2588 100644
--- a/rust/ql/lib/codeql/rust/generated/Module.qll
+++ b/rust/ql/lib/codeql/rust/generated/Module.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Module`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Declaration
+import codeql.rust.elements.DeclarationImpl
/**
* INTERNAL: This module contains the fully generated definition of `Module` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Declaration
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Module` class directly.
+ * INTERNAL: Do not reference the `Generated::ModuleImpl` class directly.
* Use the subclass `Module`, where the following predicates are available.
*/
- class Module extends Synth::TModule, Declaration {
+ class ModuleImpl extends Synth::TModule, DeclarationImpl {
override string getAPrimaryQlClass() { result = "Module" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/OffsetOfExpr.qll b/rust/ql/lib/codeql/rust/generated/OffsetOfExpr.qll
index c481a52cff4aa..69d9d126dc890 100644
--- a/rust/ql/lib/codeql/rust/generated/OffsetOfExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/OffsetOfExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `OffsetOfExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.TypeRef
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.TypeRef
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::OffsetOfExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::OffsetOfExprImpl` class directly.
* Use the subclass `OffsetOfExpr`, where the following predicates are available.
*/
- class OffsetOfExpr extends Synth::TOffsetOfExpr, Expr {
+ class OffsetOfExprImpl extends Synth::TOffsetOfExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "OffsetOfExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/OrPat.qll b/rust/ql/lib/codeql/rust/generated/OrPat.qll
index 8f1541ea9b315..f0d8a72620469 100644
--- a/rust/ql/lib/codeql/rust/generated/OrPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/OrPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `OrPat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `OrPat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::OrPat` class directly.
+ * INTERNAL: Do not reference the `Generated::OrPatImpl` class directly.
* Use the subclass `OrPat`, where the following predicates are available.
*/
- class OrPat extends Synth::TOrPat, Pat {
+ class OrPatImpl extends Synth::TOrPat, PatImpl {
override string getAPrimaryQlClass() { result = "OrPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/generated/ParentChild.qll
index a383e174b769f..3f39b4cff3044 100644
--- a/rust/ql/lib/codeql/rust/generated/ParentChild.qll
+++ b/rust/ql/lib/codeql/rust/generated/ParentChild.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated parent/child relationship.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/Pat.qll b/rust/ql/lib/codeql/rust/generated/Pat.qll
index c21fcf46d7158..93458ffedbe65 100644
--- a/rust/ql/lib/codeql/rust/generated/Pat.qll
+++ b/rust/ql/lib/codeql/rust/generated/Pat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Pat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Pat` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Pat` class directly.
+ * INTERNAL: Do not reference the `Generated::PatImpl` class directly.
* Use the subclass `Pat`, where the following predicates are available.
*/
- class Pat extends Synth::TPat, AstNode { }
+ class PatImpl extends Synth::TPat, AstNodeImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/PathExpr.qll b/rust/ql/lib/codeql/rust/generated/PathExpr.qll
index 7a164820a73d6..5bc38b1b5bc72 100644
--- a/rust/ql/lib/codeql/rust/generated/PathExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/PathExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `PathExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.Unimplemented
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::PathExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::PathExprImpl` class directly.
* Use the subclass `PathExpr`, where the following predicates are available.
*/
- class PathExpr extends Synth::TPathExpr, Expr {
+ class PathExprImpl extends Synth::TPathExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "PathExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/PathPat.qll b/rust/ql/lib/codeql/rust/generated/PathPat.qll
index 5fb2acfb13cfd..9d8c249abb44b 100644
--- a/rust/ql/lib/codeql/rust/generated/PathPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/PathPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `PathPat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
import codeql.rust.elements.Unimplemented
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::PathPat` class directly.
+ * INTERNAL: Do not reference the `Generated::PathPatImpl` class directly.
* Use the subclass `PathPat`, where the following predicates are available.
*/
- class PathPat extends Synth::TPathPat, Pat {
+ class PathPatImpl extends Synth::TPathPat, PatImpl {
override string getAPrimaryQlClass() { result = "PathPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/PureSynthConstructors.qll b/rust/ql/lib/codeql/rust/generated/PureSynthConstructors.qll
index db7165ee77916..100f7f4a756ec 100644
--- a/rust/ql/lib/codeql/rust/generated/PureSynthConstructors.qll
+++ b/rust/ql/lib/codeql/rust/generated/PureSynthConstructors.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module exports all modules providing `Element` subclasses.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/RangeExpr.qll b/rust/ql/lib/codeql/rust/generated/RangeExpr.qll
index d1d783e228807..6c51e9def39d9 100644
--- a/rust/ql/lib/codeql/rust/generated/RangeExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/RangeExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RangeExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `RangeExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RangeExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::RangeExprImpl` class directly.
* Use the subclass `RangeExpr`, where the following predicates are available.
*/
- class RangeExpr extends Synth::TRangeExpr, Expr {
+ class RangeExprImpl extends Synth::TRangeExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "RangeExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RangePat.qll b/rust/ql/lib/codeql/rust/generated/RangePat.qll
index f0cfa96e869a1..c985514d293c4 100644
--- a/rust/ql/lib/codeql/rust/generated/RangePat.qll
+++ b/rust/ql/lib/codeql/rust/generated/RangePat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RangePat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `RangePat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RangePat` class directly.
+ * INTERNAL: Do not reference the `Generated::RangePatImpl` class directly.
* Use the subclass `RangePat`, where the following predicates are available.
*/
- class RangePat extends Synth::TRangePat, Pat {
+ class RangePatImpl extends Synth::TRangePat, PatImpl {
override string getAPrimaryQlClass() { result = "RangePat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RecordFieldPat.qll b/rust/ql/lib/codeql/rust/generated/RecordFieldPat.qll
index d2924880931ae..f34c8ec53ecc0 100644
--- a/rust/ql/lib/codeql/rust/generated/RecordFieldPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/RecordFieldPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RecordFieldPat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
import codeql.rust.elements.Pat
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RecordFieldPat` class directly.
+ * INTERNAL: Do not reference the `Generated::RecordFieldPatImpl` class directly.
* Use the subclass `RecordFieldPat`, where the following predicates are available.
*/
- class RecordFieldPat extends Synth::TRecordFieldPat, AstNode {
+ class RecordFieldPatImpl extends Synth::TRecordFieldPat, AstNodeImpl {
override string getAPrimaryQlClass() { result = "RecordFieldPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RecordLitExpr.qll b/rust/ql/lib/codeql/rust/generated/RecordLitExpr.qll
index 71318e79a6f33..38aa48a8e2212 100644
--- a/rust/ql/lib/codeql/rust/generated/RecordLitExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/RecordLitExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RecordLitExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
import codeql.rust.elements.RecordLitField
import codeql.rust.elements.Unimplemented
@@ -16,10 +17,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RecordLitExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::RecordLitExprImpl` class directly.
* Use the subclass `RecordLitExpr`, where the following predicates are available.
*/
- class RecordLitExpr extends Synth::TRecordLitExpr, Expr {
+ class RecordLitExprImpl extends Synth::TRecordLitExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "RecordLitExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RecordLitField.qll b/rust/ql/lib/codeql/rust/generated/RecordLitField.qll
index 55a488e2ff6d7..a66d316da58f2 100644
--- a/rust/ql/lib/codeql/rust/generated/RecordLitField.qll
+++ b/rust/ql/lib/codeql/rust/generated/RecordLitField.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RecordLitField`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
import codeql.rust.elements.Expr
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RecordLitField` class directly.
+ * INTERNAL: Do not reference the `Generated::RecordLitFieldImpl` class directly.
* Use the subclass `RecordLitField`, where the following predicates are available.
*/
- class RecordLitField extends Synth::TRecordLitField, AstNode {
+ class RecordLitFieldImpl extends Synth::TRecordLitField, AstNodeImpl {
override string getAPrimaryQlClass() { result = "RecordLitField" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RecordPat.qll b/rust/ql/lib/codeql/rust/generated/RecordPat.qll
index dca4cbb93822d..4ab51ca85604b 100644
--- a/rust/ql/lib/codeql/rust/generated/RecordPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/RecordPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RecordPat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
import codeql.rust.elements.RecordFieldPat
import codeql.rust.elements.Unimplemented
@@ -16,10 +16,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RecordPat` class directly.
+ * INTERNAL: Do not reference the `Generated::RecordPatImpl` class directly.
* Use the subclass `RecordPat`, where the following predicates are available.
*/
- class RecordPat extends Synth::TRecordPat, Pat {
+ class RecordPatImpl extends Synth::TRecordPat, PatImpl {
override string getAPrimaryQlClass() { result = "RecordPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RefExpr.qll b/rust/ql/lib/codeql/rust/generated/RefExpr.qll
index 6fce583db98ed..2b1a9319f584b 100644
--- a/rust/ql/lib/codeql/rust/generated/RefExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/RefExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RefExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `RefExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RefExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::RefExprImpl` class directly.
* Use the subclass `RefExpr`, where the following predicates are available.
*/
- class RefExpr extends Synth::TRefExpr, Expr {
+ class RefExprImpl extends Synth::TRefExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "RefExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RefPat.qll b/rust/ql/lib/codeql/rust/generated/RefPat.qll
index 33674b00330be..9c68429ba7e9e 100644
--- a/rust/ql/lib/codeql/rust/generated/RefPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/RefPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RefPat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `RefPat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RefPat` class directly.
+ * INTERNAL: Do not reference the `Generated::RefPatImpl` class directly.
* Use the subclass `RefPat`, where the following predicates are available.
*/
- class RefPat extends Synth::TRefPat, Pat {
+ class RefPatImpl extends Synth::TRefPat, PatImpl {
override string getAPrimaryQlClass() { result = "RefPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/RepeatExpr.qll b/rust/ql/lib/codeql/rust/generated/RepeatExpr.qll
index 17df2bb4db1a0..24306d75096be 100644
--- a/rust/ql/lib/codeql/rust/generated/RepeatExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/RepeatExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `RepeatExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.ArrayExpr
+import codeql.rust.elements.ArrayExprImpl
import codeql.rust.elements.Expr
/**
@@ -15,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::RepeatExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::RepeatExprImpl` class directly.
* Use the subclass `RepeatExpr`, where the following predicates are available.
*/
- class RepeatExpr extends Synth::TRepeatExpr, ArrayExpr {
+ class RepeatExprImpl extends Synth::TRepeatExpr, ArrayExprImpl {
override string getAPrimaryQlClass() { result = "RepeatExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/ReturnExpr.qll b/rust/ql/lib/codeql/rust/generated/ReturnExpr.qll
index 1d9ee4be7ac64..a3c11fc3e21bc 100644
--- a/rust/ql/lib/codeql/rust/generated/ReturnExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/ReturnExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `ReturnExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `ReturnExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::ReturnExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::ReturnExprImpl` class directly.
* Use the subclass `ReturnExpr`, where the following predicates are available.
*/
- class ReturnExpr extends Synth::TReturnExpr, Expr {
+ class ReturnExprImpl extends Synth::TReturnExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "ReturnExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/SlicePat.qll b/rust/ql/lib/codeql/rust/generated/SlicePat.qll
index 272be59516703..7aae6ef4a031e 100644
--- a/rust/ql/lib/codeql/rust/generated/SlicePat.qll
+++ b/rust/ql/lib/codeql/rust/generated/SlicePat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `SlicePat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `SlicePat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::SlicePat` class directly.
+ * INTERNAL: Do not reference the `Generated::SlicePatImpl` class directly.
* Use the subclass `SlicePat`, where the following predicates are available.
*/
- class SlicePat extends Synth::TSlicePat, Pat {
+ class SlicePatImpl extends Synth::TSlicePat, PatImpl {
override string getAPrimaryQlClass() { result = "SlicePat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/Stmt.qll b/rust/ql/lib/codeql/rust/generated/Stmt.qll
index d1536f06e7cd6..0122a7790fb85 100644
--- a/rust/ql/lib/codeql/rust/generated/Stmt.qll
+++ b/rust/ql/lib/codeql/rust/generated/Stmt.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Stmt`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Stmt` and should not
@@ -14,8 +14,8 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Stmt` class directly.
+ * INTERNAL: Do not reference the `Generated::StmtImpl` class directly.
* Use the subclass `Stmt`, where the following predicates are available.
*/
- class Stmt extends Synth::TStmt, AstNode { }
+ class StmtImpl extends Synth::TStmt, AstNodeImpl { }
}
diff --git a/rust/ql/lib/codeql/rust/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/generated/SynthConstructors.qll
index c4281ed696ee3..9c83e34b93241 100644
--- a/rust/ql/lib/codeql/rust/generated/SynthConstructors.qll
+++ b/rust/ql/lib/codeql/rust/generated/SynthConstructors.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module exports all modules providing `Element` subclasses.
*/
diff --git a/rust/ql/lib/codeql/rust/generated/TupleExpr.qll b/rust/ql/lib/codeql/rust/generated/TupleExpr.qll
index 730550be45696..810eb484507d0 100644
--- a/rust/ql/lib/codeql/rust/generated/TupleExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/TupleExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `TupleExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `TupleExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::TupleExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::TupleExprImpl` class directly.
* Use the subclass `TupleExpr`, where the following predicates are available.
*/
- class TupleExpr extends Synth::TTupleExpr, Expr {
+ class TupleExprImpl extends Synth::TTupleExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "TupleExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/TuplePat.qll b/rust/ql/lib/codeql/rust/generated/TuplePat.qll
index 8ed7f0b15ecdf..27d5de40cb3b1 100644
--- a/rust/ql/lib/codeql/rust/generated/TuplePat.qll
+++ b/rust/ql/lib/codeql/rust/generated/TuplePat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `TuplePat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `TuplePat` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::TuplePat` class directly.
+ * INTERNAL: Do not reference the `Generated::TuplePatImpl` class directly.
* Use the subclass `TuplePat`, where the following predicates are available.
*/
- class TuplePat extends Synth::TTuplePat, Pat {
+ class TuplePatImpl extends Synth::TTuplePat, PatImpl {
override string getAPrimaryQlClass() { result = "TuplePat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/TupleStructPat.qll b/rust/ql/lib/codeql/rust/generated/TupleStructPat.qll
index 606ceb90375cf..f598e6dcda223 100644
--- a/rust/ql/lib/codeql/rust/generated/TupleStructPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/TupleStructPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `TupleStructPat`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
import codeql.rust.elements.Unimplemented
/**
@@ -15,10 +16,10 @@ import codeql.rust.elements.Unimplemented
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::TupleStructPat` class directly.
+ * INTERNAL: Do not reference the `Generated::TupleStructPatImpl` class directly.
* Use the subclass `TupleStructPat`, where the following predicates are available.
*/
- class TupleStructPat extends Synth::TTupleStructPat, Pat {
+ class TupleStructPatImpl extends Synth::TTupleStructPat, PatImpl {
override string getAPrimaryQlClass() { result = "TupleStructPat" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/TypeRef.qll b/rust/ql/lib/codeql/rust/generated/TypeRef.qll
index b75359dbbec7b..8ece8840b7fab 100644
--- a/rust/ql/lib/codeql/rust/generated/TypeRef.qll
+++ b/rust/ql/lib/codeql/rust/generated/TypeRef.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `TypeRef`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `TypeRef` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::TypeRef` class directly.
+ * INTERNAL: Do not reference the `Generated::TypeRefImpl` class directly.
* Use the subclass `TypeRef`, where the following predicates are available.
*/
- class TypeRef extends Synth::TTypeRef, AstNode {
+ class TypeRefImpl extends Synth::TTypeRef, AstNodeImpl {
override string getAPrimaryQlClass() { result = "TypeRef" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/UnaryOpExpr.qll b/rust/ql/lib/codeql/rust/generated/UnaryOpExpr.qll
index 283b8f8eae1fb..69fc30441b2ce 100644
--- a/rust/ql/lib/codeql/rust/generated/UnaryOpExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/UnaryOpExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `UnaryOpExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnaryOpExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::UnaryOpExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::UnaryOpExprImpl` class directly.
* Use the subclass `UnaryOpExpr`, where the following predicates are available.
*/
- class UnaryOpExpr extends Synth::TUnaryOpExpr, Expr {
+ class UnaryOpExprImpl extends Synth::TUnaryOpExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "UnaryOpExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/UnderscoreExpr.qll b/rust/ql/lib/codeql/rust/generated/UnderscoreExpr.qll
index 5ba5bd7715574..784a343049153 100644
--- a/rust/ql/lib/codeql/rust/generated/UnderscoreExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/UnderscoreExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `UnderscoreExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnderscoreExpr` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::UnderscoreExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::UnderscoreExprImpl` class directly.
* Use the subclass `UnderscoreExpr`, where the following predicates are available.
*/
- class UnderscoreExpr extends Synth::TUnderscoreExpr, Expr {
+ class UnderscoreExprImpl extends Synth::TUnderscoreExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "UnderscoreExpr" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/Unimplemented.qll b/rust/ql/lib/codeql/rust/generated/Unimplemented.qll
index 749c88b8acaea..262cffecf77d2 100644
--- a/rust/ql/lib/codeql/rust/generated/Unimplemented.qll
+++ b/rust/ql/lib/codeql/rust/generated/Unimplemented.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `Unimplemented`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.AstNode
+import codeql.rust.elements.AstNodeImpl
/**
* INTERNAL: This module contains the fully generated definition of `Unimplemented` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.AstNode
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::Unimplemented` class directly.
+ * INTERNAL: Do not reference the `Generated::UnimplementedImpl` class directly.
* Use the subclass `Unimplemented`, where the following predicates are available.
*/
- class Unimplemented extends Synth::TUnimplemented, AstNode {
+ class UnimplementedImpl extends Synth::TUnimplemented, AstNodeImpl {
override string getAPrimaryQlClass() { result = "Unimplemented" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/UnknownFile.qll b/rust/ql/lib/codeql/rust/generated/UnknownFile.qll
index 4b5ce7cc81e4f..c3d2ad4ecd311 100644
--- a/rust/ql/lib/codeql/rust/generated/UnknownFile.qll
+++ b/rust/ql/lib/codeql/rust/generated/UnknownFile.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `UnknownFile`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.File
+import codeql.rust.elements.FileImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnknownFile` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.File
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::UnknownFile` class directly.
+ * INTERNAL: Do not reference the `Generated::UnknownFileImpl` class directly.
* Use the subclass `UnknownFile`, where the following predicates are available.
*/
- class UnknownFile extends Synth::TUnknownFile, File {
+ class UnknownFileImpl extends Synth::TUnknownFile, FileImpl {
override string getAPrimaryQlClass() { result = "UnknownFile" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/UnknownLocation.qll b/rust/ql/lib/codeql/rust/generated/UnknownLocation.qll
index 5adaae87e7fc7..cc4e6f23c0db7 100644
--- a/rust/ql/lib/codeql/rust/generated/UnknownLocation.qll
+++ b/rust/ql/lib/codeql/rust/generated/UnknownLocation.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `UnknownLocation`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Location
+import codeql.rust.elements.LocationImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnknownLocation` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Location
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::UnknownLocation` class directly.
+ * INTERNAL: Do not reference the `Generated::UnknownLocationImpl` class directly.
* Use the subclass `UnknownLocation`, where the following predicates are available.
*/
- class UnknownLocation extends Synth::TUnknownLocation, Location {
+ class UnknownLocationImpl extends Synth::TUnknownLocation, LocationImpl {
override string getAPrimaryQlClass() { result = "UnknownLocation" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/UnsafeBlockExpr.qll b/rust/ql/lib/codeql/rust/generated/UnsafeBlockExpr.qll
index e53ce046fa66c..15c6a2d0a9f37 100644
--- a/rust/ql/lib/codeql/rust/generated/UnsafeBlockExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/UnsafeBlockExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `UnsafeBlockExpr`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.BlockExprBase
+import codeql.rust.elements.BlockExprBaseImpl
/**
* INTERNAL: This module contains the fully generated definition of `UnsafeBlockExpr` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.BlockExprBase
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::UnsafeBlockExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::UnsafeBlockExprImpl` class directly.
* Use the subclass `UnsafeBlockExpr`, where the following predicates are available.
*/
- class UnsafeBlockExpr extends Synth::TUnsafeBlockExpr, BlockExprBase {
+ class UnsafeBlockExprImpl extends Synth::TUnsafeBlockExpr, BlockExprBaseImpl {
override string getAPrimaryQlClass() { result = "UnsafeBlockExpr" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/WildPat.qll b/rust/ql/lib/codeql/rust/generated/WildPat.qll
index 05db09c16e0c2..e1de43f7961fb 100644
--- a/rust/ql/lib/codeql/rust/generated/WildPat.qll
+++ b/rust/ql/lib/codeql/rust/generated/WildPat.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `WildPat`.
* INTERNAL: Do not import directly.
@@ -6,7 +6,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
-import codeql.rust.elements.Pat
+import codeql.rust.elements.PatImpl
/**
* INTERNAL: This module contains the fully generated definition of `WildPat` and should not
@@ -14,10 +14,10 @@ import codeql.rust.elements.Pat
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::WildPat` class directly.
+ * INTERNAL: Do not reference the `Generated::WildPatImpl` class directly.
* Use the subclass `WildPat`, where the following predicates are available.
*/
- class WildPat extends Synth::TWildPat, Pat {
+ class WildPatImpl extends Synth::TWildPat, PatImpl {
override string getAPrimaryQlClass() { result = "WildPat" }
}
}
diff --git a/rust/ql/lib/codeql/rust/generated/YeetExpr.qll b/rust/ql/lib/codeql/rust/generated/YeetExpr.qll
index 3599779650d20..4d62508b9700c 100644
--- a/rust/ql/lib/codeql/rust/generated/YeetExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/YeetExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `YeetExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `YeetExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::YeetExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::YeetExprImpl` class directly.
* Use the subclass `YeetExpr`, where the following predicates are available.
*/
- class YeetExpr extends Synth::TYeetExpr, Expr {
+ class YeetExprImpl extends Synth::TYeetExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "YeetExpr" }
/**
diff --git a/rust/ql/lib/codeql/rust/generated/YieldExpr.qll b/rust/ql/lib/codeql/rust/generated/YieldExpr.qll
index 6abe7de7fba60..ca0b5517e16fd 100644
--- a/rust/ql/lib/codeql/rust/generated/YieldExpr.qll
+++ b/rust/ql/lib/codeql/rust/generated/YieldExpr.qll
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
/**
* This module provides the generated definition of `YieldExpr`.
* INTERNAL: Do not import directly.
@@ -7,6 +7,7 @@
private import codeql.rust.generated.Synth
private import codeql.rust.generated.Raw
import codeql.rust.elements.Expr
+import codeql.rust.elements.ExprImpl
/**
* INTERNAL: This module contains the fully generated definition of `YieldExpr` and should not
@@ -14,10 +15,10 @@ import codeql.rust.elements.Expr
*/
module Generated {
/**
- * INTERNAL: Do not reference the `Generated::YieldExpr` class directly.
+ * INTERNAL: Do not reference the `Generated::YieldExprImpl` class directly.
* Use the subclass `YieldExpr`, where the following predicates are available.
*/
- class YieldExpr extends Synth::TYieldExpr, Expr {
+ class YieldExprImpl extends Synth::TYieldExpr, ExprImpl {
override string getAPrimaryQlClass() { result = "YieldExpr" }
/**
diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme
index c38f0f61ea0fd..fe8545bc9a03a 100644
--- a/rust/ql/lib/rust.dbscheme
+++ b/rust/ql/lib/rust.dbscheme
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
// from prefix.dbscheme
/**
diff --git a/rust/ql/test/extractor-tests/generated/.generated_tests.list b/rust/ql/test/extractor-tests/generated/.generated_tests.list
index aca5873c82078..d0f042a5f3e0c 100644
--- a/rust/ql/test/extractor-tests/generated/.generated_tests.list
+++ b/rust/ql/test/extractor-tests/generated/.generated_tests.list
@@ -1 +1 @@
-Function/gen_function.rs 4be46d4798cd32b51e449d1b6c4bc7461216a8a0e765b61abac21354401a7776 4be46d4798cd32b51e449d1b6c4bc7461216a8a0e765b61abac21354401a7776
+Function/gen_function.rs a60244979b908b002382201f6adb7954ba70bd54340221f06e5c2c10c07d99f0 a60244979b908b002382201f6adb7954ba70bd54340221f06e5c2c10c07d99f0
diff --git a/rust/ql/test/extractor-tests/generated/Expr/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/Expr/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/Expr/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/Expr/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/File/File.ql b/rust/ql/test/extractor-tests/generated/File/File.ql
index 20550a0d1b51f..9bed9368dabb0 100644
--- a/rust/ql/test/extractor-tests/generated/File/File.ql
+++ b/rust/ql/test/extractor-tests/generated/File/File.ql
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
diff --git a/rust/ql/test/extractor-tests/generated/Function/Function.ql b/rust/ql/test/extractor-tests/generated/Function/Function.ql
index 1cff304071066..e9faa2aef179b 100644
--- a/rust/ql/test/extractor-tests/generated/Function/Function.ql
+++ b/rust/ql/test/extractor-tests/generated/Function/Function.ql
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
import codeql.rust.elements
import TestUtils
diff --git a/rust/ql/test/extractor-tests/generated/Function/gen_function.rs b/rust/ql/test/extractor-tests/generated/Function/gen_function.rs
index 0df26fce0ee8a..dd9f9ee7ea2f1 100644
--- a/rust/ql/test/extractor-tests/generated/Function/gen_function.rs
+++ b/rust/ql/test/extractor-tests/generated/Function/gen_function.rs
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
// A function declaration. For example
fn foo(x: u32) -> u64 { (x + 1).into() }
diff --git a/rust/ql/test/extractor-tests/generated/Module/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/Module/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/Module/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/Module/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/Pat/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/Pat/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/Pat/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/Pat/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/RecordFieldPat/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/RecordLitField/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/Stmt/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted
diff --git a/rust/ql/test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt
index 9cb54ddd059ea..7f96b17b1f3ce 100644
--- a/rust/ql/test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt
+++ b/rust/ql/test/extractor-tests/generated/TypeRef/MISSING_SOURCE.txt
@@ -1,4 +1,4 @@
-// generated by codegen
+// generated by codegen, do not edit
After a source file is added in this directory and codegen is run again, test queries
will appear and this file will be deleted