From ca8739ad9abcb479392cc6b484cab664735040f4 Mon Sep 17 00:00:00 2001 From: Arthur Baars Date: Mon, 9 Dec 2024 16:42:18 +0100 Subject: [PATCH] Rust: add Type to schema --- rust/extractor/src/generated/.generated.list | 2 +- rust/extractor/src/generated/top.rs | 441 +++++++++++++++++- rust/ql/.generated.list | 73 ++- rust/ql/.gitattributes | 55 +++ rust/ql/lib/codeql/rust/elements.qll | 11 + .../ql/lib/codeql/rust/elements/ArrayType.qll | 9 + .../ql/lib/codeql/rust/elements/ErrorType.qll | 9 + .../lib/codeql/rust/elements/FunctionType.qll | 9 + .../ql/lib/codeql/rust/elements/NeverType.qll | 9 + rust/ql/lib/codeql/rust/elements/PathType.qll | 9 + .../codeql/rust/elements/PlaceHolderType.qll | 9 + .../lib/codeql/rust/elements/RawPtrType.qll | 9 + .../codeql/rust/elements/ReferenceType.qll | 9 + .../ql/lib/codeql/rust/elements/SliceType.qll | 9 + .../ql/lib/codeql/rust/elements/TupleType.qll | 9 + rust/ql/lib/codeql/rust/elements/Type.qll | 9 + .../ql/lib/codeql/rust/elements/ValueItem.qll | 2 +- .../lib/codeql/rust/elements/VariantData.qll | 2 +- .../internal/ArrayTypeConstructor.qll | 14 + .../rust/elements/internal/ArrayTypeImpl.qll | 16 + .../internal/ErrorTypeConstructor.qll | 14 + .../rust/elements/internal/ErrorTypeImpl.qll | 16 + .../internal/FunctionTypeConstructor.qll | 14 + .../elements/internal/FunctionTypeImpl.qll | 16 + .../internal/NeverTypeConstructor.qll | 14 + .../rust/elements/internal/NeverTypeImpl.qll | 16 + .../elements/internal/PathTypeConstructor.qll | 14 + .../rust/elements/internal/PathTypeImpl.qll | 16 + .../internal/PlaceHolderTypeConstructor.qll | 14 + .../elements/internal/PlaceHolderTypeImpl.qll | 16 + .../internal/RawPtrTypeConstructor.qll | 14 + .../rust/elements/internal/RawPtrTypeImpl.qll | 16 + .../internal/ReferenceTypeConstructor.qll | 14 + .../elements/internal/ReferenceTypeImpl.qll | 16 + .../internal/SliceTypeConstructor.qll | 14 + .../rust/elements/internal/SliceTypeImpl.qll | 16 + .../internal/TupleTypeConstructor.qll | 14 + .../rust/elements/internal/TupleTypeImpl.qll | 16 + .../rust/elements/internal/TypeImpl.qll | 16 + .../elements/internal/generated/ArrayType.qll | 32 ++ .../elements/internal/generated/ErrorType.qll | 23 + .../internal/generated/FunctionType.qll | 91 ++++ .../elements/internal/generated/NeverType.qll | 23 + .../internal/generated/ParentChild.qll | 169 +++++++ .../elements/internal/generated/PathType.qll | 40 ++ .../internal/generated/PlaceHolderType.qll | 23 + .../rust/elements/internal/generated/Raw.qll | 159 ++++++- .../internal/generated/RawPtrType.qll | 37 ++ .../internal/generated/ReferenceType.qll | 51 ++ .../elements/internal/generated/SliceType.qll | 32 ++ .../elements/internal/generated/Synth.qll | 223 +++++++++ .../internal/generated/SynthConstructors.qll | 10 + .../elements/internal/generated/TupleType.qll | 44 ++ .../rust/elements/internal/generated/Type.qll | 21 + .../elements/internal/generated/ValueItem.qll | 6 +- .../internal/generated/VariantData.qll | 8 +- rust/ql/lib/rust.dbscheme | 126 ++++- .../generated/ArrayType/ArrayType.ql | 10 + .../generated/ErrorType/MISSING_SOURCE.txt | 4 + .../generated/FunctionType/MISSING_SOURCE.txt | 4 + .../generated/NeverType/NeverType.ql | 7 + .../generated/PathType/PathType.ql | 10 + .../generated/PathType/PathType_getPath.ql | 7 + .../PlaceholderType/MISSING_SOURCE.txt | 4 + .../generated/RawPtrType/MISSING_SOURCE.txt | 4 + .../ReferenceType/MISSING_SOURCE.txt | 4 + .../generated/SliceType/SliceType.ql | 10 + .../generated/TupleType/TupleType.ql | 10 + .../generated/TupleType/TupleType_getField.ql | 7 + rust/schema/prelude.py | 57 ++- 70 files changed, 2230 insertions(+), 27 deletions(-) create mode 100644 rust/ql/lib/codeql/rust/elements/ArrayType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/ErrorType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/FunctionType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/NeverType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/PathType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/PlaceHolderType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/RawPtrType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/ReferenceType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/SliceType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/TupleType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/Type.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ArrayTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ErrorTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/FunctionTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/NeverTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/NeverTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PathTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PathTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/SliceTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/SliceTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TupleTypeConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TupleTypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/TypeImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/ArrayType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/ErrorType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/FunctionType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/NeverType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/PathType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/PlaceHolderType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/RawPtrType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/ReferenceType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/SliceType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/TupleType.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/Type.qll create mode 100644 rust/ql/test/extractor-tests/generated/ArrayType/ArrayType.ql create mode 100644 rust/ql/test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/FunctionType/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/NeverType/NeverType.ql create mode 100644 rust/ql/test/extractor-tests/generated/PathType/PathType.ql create mode 100644 rust/ql/test/extractor-tests/generated/PathType/PathType_getPath.ql create mode 100644 rust/ql/test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/RawPtrType/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/ReferenceType/MISSING_SOURCE.txt create mode 100644 rust/ql/test/extractor-tests/generated/SliceType/SliceType.ql create mode 100644 rust/ql/test/extractor-tests/generated/TupleType/TupleType.ql create mode 100644 rust/ql/test/extractor-tests/generated/TupleType/TupleType_getField.ql diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index 02a9836658c30..9a50d9178b234 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs 815f0441bca730ade515684ec69c3fb536f30e6f60fd3c6862490264bb583976 815f0441bca730ade515684ec69c3fb536f30e6f60fd3c6862490264bb583976 +top.rs 4d946ef0264de18e487f720dedc71d24fd9c32e8004972a31f4a71c52a77ae8e 4d946ef0264de18e487f720dedc71d24fd9c32e8004972a31f4a71c52a77ae8e diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index d75d5e11d39d5..dfdf5a5f1e1b8 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -122,6 +122,24 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct Type { + _unused: () +} + +impl trap::TrapClass for Type { + fn class_name() -> &'static str { "Type" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme Type is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct TypeItem { _unused: () @@ -162,7 +180,7 @@ impl From> for trap::Label { pub struct ValueItem { pub id: trap::TrapId, pub name: String, - pub type_: trap::Label, + pub type_: trap::Label, } impl trap::TrapEntry for ValueItem { @@ -191,7 +209,7 @@ impl From> for trap::Label { #[derive(Debug)] pub struct VariantData { pub id: trap::TrapId, - pub types: Vec>, + pub types: Vec>, pub fields: Vec, pub is_record: bool, } @@ -228,6 +246,44 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct ArrayType { + pub id: trap::TrapId, + pub type_: trap::Label, +} + +impl trap::TrapEntry for ArrayType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("array_types", vec![id.into(), self.type_.into()]); + } +} + +impl trap::TrapClass for ArrayType { + fn class_name() -> &'static str { "ArrayType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ArrayType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ArrayType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct AstNode { _unused: () @@ -397,6 +453,105 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct ErrorType { + pub id: trap::TrapId, +} + +impl trap::TrapEntry for ErrorType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("error_types", vec![id.into()]); + } +} + +impl trap::TrapClass for ErrorType { + fn class_name() -> &'static str { "ErrorType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ErrorType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ErrorType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct FunctionType { + pub id: trap::TrapId, + pub self_type: Option>, + pub params: Vec>, + pub ret_type: trap::Label, + pub is_const: bool, + pub is_async: bool, + pub is_unsafe: bool, + pub has_varargs: bool, +} + +impl trap::TrapEntry for FunctionType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("function_types", vec![id.into(), self.ret_type.into()]); + if let Some(v) = self.self_type { + out.add_tuple("function_type_self_types", vec![id.into(), v.into()]); + } + for (i, v) in self.params.into_iter().enumerate() { + out.add_tuple("function_type_params", vec![id.into(), i.into(), v.into()]); + } + if self.is_const { + out.add_tuple("function_type_is_const", vec![id.into()]); + } + if self.is_async { + out.add_tuple("function_type_is_async", vec![id.into()]); + } + if self.is_unsafe { + out.add_tuple("function_type_is_unsafe", vec![id.into()]); + } + if self.has_varargs { + out.add_tuple("function_type_has_varargs", vec![id.into()]); + } + } +} + +impl trap::TrapClass for FunctionType { + fn class_name() -> &'static str { "FunctionType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme FunctionType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme FunctionType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Missing { pub id: trap::TrapId, @@ -434,6 +589,247 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct NeverType { + pub id: trap::TrapId, +} + +impl trap::TrapEntry for NeverType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("never_types", vec![id.into()]); + } +} + +impl trap::TrapClass for NeverType { + fn class_name() -> &'static str { "NeverType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme NeverType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme NeverType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct PathType { + pub id: trap::TrapId, + pub path: Vec, +} + +impl trap::TrapEntry for PathType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("path_types", vec![id.into()]); + for (i, v) in self.path.into_iter().enumerate() { + out.add_tuple("path_type_paths", vec![id.into(), i.into(), v.into()]); + } + } +} + +impl trap::TrapClass for PathType { + fn class_name() -> &'static str { "PathType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PathType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct PlaceholderType { + pub id: trap::TrapId, +} + +impl trap::TrapEntry for PlaceholderType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("placeholder_types", vec![id.into()]); + } +} + +impl trap::TrapClass for PlaceholderType { + fn class_name() -> &'static str { "PlaceholderType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PlaceholderType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme PlaceholderType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct RawPtrType { + pub id: trap::TrapId, + pub type_: trap::Label, + pub is_mut: bool, +} + +impl trap::TrapEntry for RawPtrType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("raw_ptr_types", vec![id.into(), self.type_.into()]); + if self.is_mut { + out.add_tuple("raw_ptr_type_is_mut", vec![id.into()]); + } + } +} + +impl trap::TrapClass for RawPtrType { + fn class_name() -> &'static str { "RawPtrType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme RawPtrType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme RawPtrType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct ReferenceType { + pub id: trap::TrapId, + pub type_: trap::Label, + pub lifetime: Option, + pub is_mut: bool, +} + +impl trap::TrapEntry for ReferenceType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("reference_types", vec![id.into(), self.type_.into()]); + if let Some(v) = self.lifetime { + out.add_tuple("reference_type_lifetimes", vec![id.into(), v.into()]); + } + if self.is_mut { + out.add_tuple("reference_type_is_mut", vec![id.into()]); + } + } +} + +impl trap::TrapClass for ReferenceType { + fn class_name() -> &'static str { "ReferenceType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ReferenceType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ReferenceType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +#[derive(Debug)] +pub struct SliceType { + pub id: trap::TrapId, + pub type_: trap::Label, +} + +impl trap::TrapEntry for SliceType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("slice_types", vec![id.into(), self.type_.into()]); + } +} + +impl trap::TrapClass for SliceType { + fn class_name() -> &'static str { "SliceType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme SliceType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme SliceType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct StructItem { pub id: trap::TrapId, @@ -480,6 +876,47 @@ impl From> for trap::Label { } } +#[derive(Debug)] +pub struct TupleType { + pub id: trap::TrapId, + pub fields: Vec>, +} + +impl trap::TrapEntry for TupleType { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("tuple_types", vec![id.into()]); + for (i, v) in self.fields.into_iter().enumerate() { + out.add_tuple("tuple_type_fields", vec![id.into(), i.into(), v.into()]); + } + } +} + +impl trap::TrapClass for TupleType { + fn class_name() -> &'static str { "TupleType" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TupleType is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme TupleType is a subclass of Type + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Unimplemented { pub id: trap::TrapId, diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index fe235886ec097..5feaaccca27b9 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -5,6 +5,7 @@ lib/codeql/rust/elements/ArgList.qll 661f5100f5d3ef8351452d9058b663a2a5c720eea8c lib/codeql/rust/elements/ArrayExpr.qll e4e7cff3518c50ec908271906dd46c1fbe9098faa1e8cd06a27f0a6e8d165ed1 fe02a4f4197f57ecd1e8e82d6c9384148ec29d8b106d7f696795b2f325e4a71b lib/codeql/rust/elements/ArrayListExpr.qll 451aedcecb479c385ff497588c7a07fda304fd5b873270223a4f2c804e96b245 a8cb008f6f732215623b5626c84b37b651ca01ccafb2cf4c835df35d5140c6ad lib/codeql/rust/elements/ArrayRepeatExpr.qll 4b7ed5be7d2caaf69f6fc0cd05b0e2416c52d547b1a73fb23d5a13007f75f4dd f6366f21cc48376b5fdf37e8c5c2b19415d4cbdeef09f33bb99cde5cb0f5b0e7 +lib/codeql/rust/elements/ArrayType.qll ebfa8509da57c9f1008f957b97d5c5f2c509f97c658136defd585205c269c844 ef5dcbe2685cd5c633b4ee8909e633db0b6000b3d00e711097bde04bd912bdf8 lib/codeql/rust/elements/ArrayTypeRepr.qll 7d5148c9efaf13e6880b327ca426304f7574608a29e6b8a219ed291003cbe1ae 73a297b0307cd014d08ccb3c00fc57b6c115adadee72a0ebb4c01fcae9e47163 lib/codeql/rust/elements/AsmExpr.qll 2f1c78e92b56d66a559543b2103d8f880dd4fa4c6907346f668b3714cf2355e9 12e174fc469c067c957f6c1a5969ab56a71a07c537ca930a564cce81c7ab4481 lib/codeql/rust/elements/AssocItem.qll 5e514287bbe353d1d637991e7af836e5659ad66922df99af68ab61399e7f8f9a 3733af54938271161ee2720c32ac43228d519b5c46b7cea1e4bbe3dc634f8857 @@ -37,6 +38,7 @@ lib/codeql/rust/elements/Element.qll 0b62d139fef54ed2cf2e2334806aa9bfbc036c9c208 lib/codeql/rust/elements/Enum.qll 2f122b042519d55e221fceac72fce24b30d4caf1947b25e9b68ee4a2095deb11 83a47445145e4fda8c3631db602a42dbb7a431f259eddf5c09dccd86f6abdd0e lib/codeql/rust/elements/EnumItem.qll 8bc8baca4d99e79d4822d77a1034d8b886158f49ddce7a554eec6162ac721808 0d3056dc6c19930a83f71727688bc36ff28096f34cb9b3d279e66579bdd6b01b lib/codeql/rust/elements/EnumVariant.qll d06bc677a3684bd84cb2f148f8f665b949d35ad6aa88b734234a12796657ab30 39631a915082df706c8eac52d98419e035ec54ca5077bf6e997f9cd801543269 +lib/codeql/rust/elements/ErrorType.qll 5eb783aaacf58c3a6a7a6750b24d5872d427255dc188eb79806c3a00a96151b8 3deccbea3ed1e6fb10cba64ec707450ddf3b7e4667caf7fbe6266e78afd15388 lib/codeql/rust/elements/Expr.qll e5d65e805ccf440d64d331e55df4c4144ab8c8f63f367382494714087659ffe8 2bbc1e5d3a65f413ec33d9822fa451fbdbe32349158db58cc0bfcfafb0e21bda lib/codeql/rust/elements/ExprStmt.qll 00ac4c7d0192b9e8b0f28d5ae59c27729ff5a831ca11938ea3e677a262337a64 7cc02aa5346cd7c50d75ca63cd6501097b0a3979eb2ed838adff114fe17d35a3 lib/codeql/rust/elements/ExternBlock.qll 23d7ca86ad0366cfb0c5300a6e205f1fe59eebcb1b18dd5b6ea7fdba3830ca68 c718eed50d4d55b67e9cfcebee018b8e6f9b783f2b2f0e21c5785ead0f11f5b6 @@ -54,6 +56,7 @@ lib/codeql/rust/elements/FormatArgsExpr.qll 8127cbe4082f7acc3d8a05298c2c9bea3025 lib/codeql/rust/elements/FormatArgument.qll f6fe17ee1481c353dd42edae8b5fa79aeb99dff25b4842ec9a6f267b1837d1e3 5aed19c2daf2383b89ad7fd527375641cff26ddee7afddb89bc0d18d520f4034 lib/codeql/rust/elements/FormatTemplateVariableAccess.qll ff3218a1dda30c232d0ecd9d1c60bbb9f3973456ef0bee1d1a12ad14b1e082b5 e4316291c939800d8b34d477d92be9404a30d52b7eee37302aef3d3205cf4ae0 lib/codeql/rust/elements/Function.qll 61fafe4bc91c997e9fb64f2770fc6682d333c61df3283fac58163df14a500430 ca7cb756942ccd01f961f3e959c7fddabeaabb72c4226ca756a6a30a4b1a4c48 +lib/codeql/rust/elements/FunctionType.qll 8b4262d2c4aede241a7ca6977149bdd7096459d0ee15fdfe8d105949b2376b17 76925e485860dcd3f4919e688c67f3fd483df34f8aec210155bcb353f7a606dc lib/codeql/rust/elements/GenericArg.qll 5f11ce0e3c5f08de84db61f56ba1b984652455ba6b95a8b8a5b5a235913d4072 756b6a73d66fde45bdcc65ce2362a5b1391af2927e6d54b6550b3ecd5fd11e75 lib/codeql/rust/elements/GenericArgList.qll dcf274db517b0e8f19e4545d77f86cdd4066ff2805e68c808d0bb5750b49f569 1055a82929e850264e501b367ef4d314a3e6bb8943ec95f4284d157fb4d0092f lib/codeql/rust/elements/GenericParam.qll b58448b808d6dfa05db9574f54c22ce51f0b1d78784263c75a95d6bfc787067d 4afbab71fe717d7d7d3e2f60ea8c3d97bcb29b17b4efb79eabfe8f070edcb9bb @@ -98,6 +101,7 @@ lib/codeql/rust/elements/Module.qll 0bc85019177709256f8078d9de2a36f62f848d476225 lib/codeql/rust/elements/ModuleContainer.qll 5b7cc53ba311790e9819c546223f7f30b84fb8200fe263eaef1168bae507f1a7 6acffa4834e073cf96353aa2f0e976446ed421770785bc8216856b5b303add95 lib/codeql/rust/elements/Name.qll 3d7ed16c232912e30e5a075f5087ad344a8f76dcc27bc8f71a80c133802b89d7 036dc3ba0c20eb0907ef6dcc532214aa5de8e0de0fa819eca1fce0355b3741a3 lib/codeql/rust/elements/NameRef.qll f11e33cdbefb3efdd8db6cd1eee593948a16ef5dd13e781c167ebd5e35b22e8c acda02258d55a6ecda0bd92eecf1778e0737a46e861a41c7dfd3203acc0eb4e9 +lib/codeql/rust/elements/NeverType.qll 1436d611b67ed5e3c8083505cae63fc2936613fb2c810838abb115aafa9e69d1 29b25b051bb3adea9d910338608422cbf8247c02e96bc00c901ee392565b49df lib/codeql/rust/elements/NeverTypeRepr.qll 538a8c2d4063dca2497a69b6b9e2fed418cbf32159e2bf9e044c59fff6a3b31a d6f827520c9dcfb97ac5619c420035305d4508017dc3517ba91e36d5d3298a72 lib/codeql/rust/elements/OffsetOfExpr.qll 370734a01c72364c9d6a904597190dac99dc1262631229732c8687fd1b3e2aa0 e222d2688aa18ed6eec04f2f6ac1537f5c7467d2cef878122e8fc158d4f6f99e lib/codeql/rust/elements/OrPat.qll 408b71f51edbfc79bf93b86fb058d01fa79caf2ebfeef37b50ae1da886c71b68 4a3f2b00db33fe26ee0859e35261016312cb491e23c46746cdd6d8bb1f6c88ef @@ -114,11 +118,14 @@ lib/codeql/rust/elements/PathExpr.qll 0232228845a2005fc63d6b8aea8b49ff50415e0e90 lib/codeql/rust/elements/PathExprBase.qll bb41092ec690ae926e3233c215dcaf1fd8e161b8a6955151949f492e02dba13a b2257072f8062d31c29c63ee1311b07e0d2eb37075f582cfc76bb542ef773198 lib/codeql/rust/elements/PathPat.qll a7069d1dd77ba66814d6c84e135ed2975d7fcf379624079e6a76dc44b5de832e 2294d524b65ab0d038094b2a00f73feb8ab70c8f49fb4d91e9d390073205631d lib/codeql/rust/elements/PathSegment.qll df95d0b621623f2383634031a49c76949f25550b82cca0f73fb89f39487a9a2b 37addce4537f7864e24f6da0d4c6545a105df598a3f1428c33404aa6dff445c4 +lib/codeql/rust/elements/PathType.qll 0567726eaa71dd51dd202f48307a2630fc47fb687846a2d120db2538afb1763a e7fa8e31db5116310f9923499eef057d0e2108de62b0c09d89fbc2c3360c449c lib/codeql/rust/elements/PathTypeRepr.qll 29028e35e93e8d1a3ec2eac7d65347e60364c20f9f6474bc74808bfc0efdd2f8 99058b68f79b01e9889f10ddb2f6e1fb40ad85475e459c7e9629d30f7c014bca +lib/codeql/rust/elements/PlaceholderType.qll 5b9d478de6f037e84293b1061fda25f78d8e85e456721385b4c7339dff0ce797 fd5b3248a7c4889b41dea2b8391067a19e6dc0d064168f71f651180ab5b1f080 lib/codeql/rust/elements/PrefixExpr.qll 107e7bd111b637fd6d76026062d54c2780760b965f172ef119c50dd0714a377d 46954a9404e561c51682395729daac3bda5442113f29839d043e9605d63f7f6d lib/codeql/rust/elements/PtrTypeRepr.qll 2eb2b6f6e5858a10fa1b10d85400ed6db781339bf152162a2fd33213c1ce083b bb99c2da04c80d3c14f47cda1feb9719af801d209becb3d9b20746a2a3b8fc02 lib/codeql/rust/elements/RangeExpr.qll 43785bea08a6a537010db1138e68ae92eed7e481744188dfb3bad119425ff740 5e81cfbdf4617372a73d662a248a0b380c1f40988a5daefb7f00057cae10d3d4 lib/codeql/rust/elements/RangePat.qll b5c0cfc84b8a767d58593fa7102dcf4be3ff8b02ba2f5360c384fa8af4aac830 cc28399dd99630bfa50c54e641a3833abe6643137d010a0a25749d1d70e8c911 +lib/codeql/rust/elements/RawPtrType.qll e1e2aeaee5daba5cda56c101f125be15a52c016a4eb4e565eeb31007a0a958af 65860d248d8be074082330125be4946a93fa5095419b665316819f7a99e362e6 lib/codeql/rust/elements/RecordExpr.qll b8541a33ef408f2070103c1db8b6ec845bc6b1d8c810f5d8d208e5eeb9f86b30 a6d9602a64c9acf48f033f06fe7e1d86382512fd378ee3044f1126726847f696 lib/codeql/rust/elements/RecordExprField.qll edac04146849e2aeca27e7bbb896c21aa2e2b15736b1e8a06ac51ab01433b3ac 7c062bd6d5dd5b1d972450fb0b3272cd9b45f94ccd668c3bd4347e2dce3279ed lib/codeql/rust/elements/RecordExprFieldList.qll 672c3854cb84090c8a2e9311c43448016dc2614ecbf86dbe404156304674e38f 01ae0ffca0bf640c61120e36fcf2c560555f4aabbd49ddce6f5c1a3561dbfc31 @@ -130,6 +137,7 @@ lib/codeql/rust/elements/RecordPatFieldList.qll c3198c997f389ce95db377ca40ac69a1 lib/codeql/rust/elements/RefExpr.qll 91a0d3a86002289dc01ffbe8daca13e34e92e522fbb508241a9d51faf1d4a9d2 b6e63d8e6f8956d2501706d129a6f5f24b410ea6539839757c76ba950c410582 lib/codeql/rust/elements/RefPat.qll fe076bdccb454111b38f360837d180274ba8a003b4cffe910b5197cd74188089 2604c8bb2b0b47091d5fc4aa276de46fe3561e346bd98f291c3783cef402ba06 lib/codeql/rust/elements/RefTypeRepr.qll ac41d8b4132f273d65873ea3c59631bc1718b3266ae08075346e6cb1bfe2f17c b7e34851d37008806d4519105a5e3405dda07b999294c6656a0c447ac1635b2a +lib/codeql/rust/elements/ReferenceType.qll 61a2ba37ae521b4883a9b59218cb0b9ccb42596114800e153487eb6c469c8e10 b4d3628130359d6518775839190dcb90dd1d0e2d99eb933ffd09a46cf29c5cee lib/codeql/rust/elements/Rename.qll 55fa06145f2160304caac0a5ce4cf6a496e41adfd66f44b3c0a1d23229ed8ce0 80262f0abf61749cdf0d5701637db359960f5404ad1dbfdd90f5048d2e7c315d lib/codeql/rust/elements/Resolvable.qll efeec2b4b14d85334ec745b9a0c5aa6f7b9f86fe3caa45b005dccaee4f5265c4 7efe0063340ba61dd31125bc770773ca23a7067893c0d1e06d149da6e9a9ee92 lib/codeql/rust/elements/RestPat.qll a898a2c396f974a52424efbc8168174416ac6ed30f90d57c81646d2c08455794 db635ead3fa236e45bbd9955c714ff0abb1e57e1ce80d99dc5bb13438475adbf @@ -138,6 +146,7 @@ lib/codeql/rust/elements/ReturnExpr.qll b87187cff55bc33c8c18558c9b88617179183d13 lib/codeql/rust/elements/ReturnTypeSyntax.qll 0aa9125f5ea8864ecf1e4ff6e85f060f1b11fdd603448816145fea1b290f0232 3911819548ad1cf493199aac2ed15652c8e48b532a1e92153388b062191c1e6e lib/codeql/rust/elements/SelfParam.qll 7d720c99097a340bc7bf6cc27ac6fe291a04af53e9bac23bf070b04b36e6e033 736488794a46ea702dcd3f603134052598207f3953acce3c9237bd6c6a038b23 lib/codeql/rust/elements/SlicePat.qll f48f13bb13378cc68f935d5b09175c316f3e81f50ef6a3ac5fdbfbfb473d6fc1 4c8df0b092274f37028e287a949f1a287f7505b7c2c36ee8d5f47fb8365d278a +lib/codeql/rust/elements/SliceType.qll 57a29d8918276eef641d157f580158b0f408229184be5dda739e936dd1c92e5f 29e43cbafeec2ce116b0ea53af2384fd3f7bac51824e51e970f3386c28025baf lib/codeql/rust/elements/SliceTypeRepr.qll 4f3fcb2b457ba95c76a1ff786e6fc217ad1a5f570dac68ec5da4b9a37c963186 b3f524d744d3fcef85a2e1e175b99a8e3acab36b2a717f107272ed92a48940c0 lib/codeql/rust/elements/SourceFile.qll 5916d550385d618bd3b3d4835fbd3040485822220af8ce52ee1adb649b3d8594 0b79766216649e948fa59de467d64fa752de4666c28e0e503e88740ae27a2aef lib/codeql/rust/elements/Static.qll 439550ae01b4975dc08867ecdc1f8a4da0127321af9511857a006e6bdf6400b0 e83252e8bc06045322bd2cbadd5a2c7deb82b8a11ddbc9809d3e199056f57bee @@ -155,7 +164,9 @@ lib/codeql/rust/elements/TupleField.qll 2e78c52e3f5b3cfa59231c864f7d44fbe9c1ec43 lib/codeql/rust/elements/TupleFieldList.qll 73397eef1cf8c18286b8f5bb12fbdc9bb75eee3b7bd64d149892952b79e498a3 13ac90f466ab22e5750af9e44aff9605b9e16f8350b4eaecff6a99e83d154e25 lib/codeql/rust/elements/TuplePat.qll 028cdea43868b0fdd2fc4c31ff25b6bbb40813e8aaccf72186051a280db7632e 38c56187971671e6a9dd0c6ccccb2ee4470aa82852110c6b89884496eb4abc64 lib/codeql/rust/elements/TupleStructPat.qll da398a23eb616bf7dd586b2a87f4ab00f28623418f081cd7b1cc3de497ef1819 6573bf3f8501c30af3aeb23d96db9f5bea7ab73e2b7ef3473095c03e96c20a5c +lib/codeql/rust/elements/TupleType.qll 10e651562ed9e2799494dc68b9ab5e9ab5b4834195be487c8f513e06ae4db8de 7b388841dcd090174d1f3b190553583fd82ffadd7591dd185e6770136c2685c0 lib/codeql/rust/elements/TupleTypeRepr.qll 819b600abfb2d6110e3f9c09a3901c875530acf372c65e3d9071aed8ab302cbb 508e8e527248b42ba3f20d3ff5163c348c9d338b12ff7d244246fc711e9d240c +lib/codeql/rust/elements/Type.qll c8c5339c8d51ea063a9fedea9e089c2c28ae22bec6394b82407e67b8508a43a4 6ba6f76b42a5fae10b8fe203ed1112841b1a22b88329f28a8aabac16d3c9bbe3 lib/codeql/rust/elements/TypeAlias.qll 2974953465e096fee61c70199a5672174254494786bc762c32c84df97422f08b 55e634e3dfa6ea3980ab37a524ea60c6adc207114a313c0c2a3632f7b5583dab lib/codeql/rust/elements/TypeArg.qll 88b5d150dbb207079bf40019b60eb6f5389247aa3040474729019d2be48e92a6 6a507290152be04b1d2c4e2c04214cfc87c583ed0611bd75655aff59eb8ce952 lib/codeql/rust/elements/TypeBound.qll 0c1629a7e2bce7e6f603e1209cd5b182b9bb61fa4c287bc4276d40cf004011e5 40c6f1d099f35be61ce721d3ee921c14722190b50874f87035036ef14ed2fb68 @@ -170,9 +181,9 @@ lib/codeql/rust/elements/Union.qll 92ffb1abc03889b9b71dae9491d4595e443c80b472474 lib/codeql/rust/elements/Use.qll e27d30ece0456a73732dfd867dfc5abdf48a50de56e7dafcab444b688610af72 7efe59c04dd2f10b4a25b8a17beb51362be0a93d73e5a9e1251cf133cf1227c3 lib/codeql/rust/elements/UseTree.qll 16b6e42146dc4c2e9d8cc6bc143933d675d1a4c9a56b309f390f4bf5df99b25d 9f8dd7d621dd15f6f1ccec676b08da02773673cbb3a3570781c16167c6e08ef4 lib/codeql/rust/elements/UseTreeList.qll 768c4ec25e8807bba65619f566b22fa5c0946c36e96c88cfdee04c2875b44554 6433c8d9acd4e346cadd5fef01d79dd35bb6245115bdceb5322c0511106030b0 -lib/codeql/rust/elements/ValueItem.qll e3c5ea4258a18c90b4c66d795664ac6e66bc75287213da08176270a0cc06927a bfef28deb497ef82513d3e99275edd8302bbb090608f8c5ea342e43de8750340 +lib/codeql/rust/elements/ValueItem.qll fe4d4b9591ae805322e91de93e67c60f4b8ce5ea30e0c90c4b5450722b57acc5 4937111f20435cc1da8aa783537c4c70db31fbcab94caaa7fd936f507a905ad8 lib/codeql/rust/elements/Variant.qll 328323ef59faf01dcf71e7d728fd10a60465a1bd24e1d3578289cdf6554e5b63 ba49c635790395d9df4398c3c0fec700c3c7761fcc6581623a45d381d23ac34d -lib/codeql/rust/elements/VariantData.qll 43c4491e296953571318f1ca1d4a6c10a22ec6431489e9bf092c0fecdf2df0be 2e46296e1f00823af53554089d599b228486b0497d3db341b66a260fb65fc386 +lib/codeql/rust/elements/VariantData.qll f6c4e547529aa91cd4aae39067abc8e9fa939a01616ac8c61ed91956dd69025b d528a8a14d9cf51ac0ae775d7487dcc6c580343779a3453a8957c93d28f22ee1 lib/codeql/rust/elements/VariantList.qll 07adfe5750b2d5b50c8629f36feba24edd84f75698a80339d4cee20f4e95829d 7d322e60c84ea45f8c8b509226da7ae3c0125bcda42a98a94e3e6a9855cab79e lib/codeql/rust/elements/Visibility.qll d2cf0727efaf8df6b3808cb4a6b2e26d18e42db766d92e97ad3ef046d91cb9e5 8947a1e2d48b532c6455ddf143fa5b1dff28c40da1f1c6a72769fc9db7ecbaf6 lib/codeql/rust/elements/WhereClause.qll da51212766700e40713fff968078a0172a4f73eebc5425d8e0d60b03c2fe59fa 0ec036aea729b8f4af0eb8118911dce715e2eb4640ae7b5e40a007a48da03899 @@ -189,6 +200,8 @@ lib/codeql/rust/elements/internal/ArgListImpl.qll 19664651c06b46530f0ae5745ccb32 lib/codeql/rust/elements/internal/ArrayExprInternal.qll 07a219b3d3fba3ff8b18e77686b2f58ab01acd99e0f5d5cad5d91af937e228f5 7528fc0e2064c481f0d6cbff3835950a044e429a2cd00c4d8442d2e132560d37 lib/codeql/rust/elements/internal/ArrayExprInternalConstructor.qll f9756bc40beee99c5e4355bf157030b440c532dff5bdf43e848b3aa1a00fea90 39467f7f313e6f9ede1fe92375ee408098dc65291ca8ee50e36a3684a2767836 lib/codeql/rust/elements/internal/ArrayExprInternalImpl.qll ae4488846c8309b2d4a51d54b36fce0a75107917c0b1f8af5ccf40797f570580 37838c7d6a04b95a16ed46e963d7e56def7a30b5e5ef1ab7e0dfdb5f256fa874 +lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll 9e92e6c40df992b4d71ae0e80392e81499604c7586a671b89d31d2d98060380e 76a1915a88f50ffa60bf129237bae2d66cf26d2a9018aca8ccb343929e847531 +lib/codeql/rust/elements/internal/ArrayTypeImpl.qll aca3bd1b98bc924eaf145c48e5134cc2867ff2a5aa480fd8d98df6c3bca69847 199681b92757ef1302ce941649661f1a53d8afb98b68d54cb9d724692a289f6e lib/codeql/rust/elements/internal/ArrayTypeReprConstructor.qll 52fea288f2031ae4fd5e5fe62300311134ed1dec29e372500487bf2c294516c1 fa6484f548aa0b85867813166f4b6699517dda9906e42d361f5e8c6486bdcb81 lib/codeql/rust/elements/internal/ArrayTypeReprImpl.qll ee16057197a489e6539c256d59f615636610022ec920fef93d36abf051c8687d 39a86b29d94f6d3b422161f0b1db6d0462c149bd465d60bfc82d383dd891c63b lib/codeql/rust/elements/internal/AsmExprConstructor.qll 36c68023b58beec30af9f05d9d902a4c49faa0206b5528d6aad494a91da07941 4d91b7d30def03e634b92c0d7b99b47c3aadd75f4499f425b80355bc775ea5b6 @@ -234,6 +247,8 @@ lib/codeql/rust/elements/internal/EnumItemConstructor.qll 06e1dcdd1d8702070afc60 lib/codeql/rust/elements/internal/EnumItemImpl.qll a10f683f0046b85870571cd2f0a3028ac93439c23c6b1411adac189f8e585c80 779359a308ed082e4fd35059a816b22f1abefbfeae28d23ee06b41db06b29215 lib/codeql/rust/elements/internal/EnumVariantConstructor.qll c689ddf5d3d543adba8ad550a5b6346d01ac2fca7fca49ddf36fa9e0e94152ac 1ec142b850589555cb0af157b3249366d4c6892cc95a9f4c89076457b3bf050e lib/codeql/rust/elements/internal/EnumVariantImpl.qll c1781eddcc034d773dd2ac218eb46dfd6005f599b01082d8d28476757170fdc0 e4709a985115d4a40b5865af143dce297a1490a4cc23047ca787f1f10021fc31 +lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll 104d471b78206901584b3ba3bdda0b50038d338af36f45399e413854759c2309 580c24c2124b73b56d4390d139e200d627baa88c6f2cfcf6d165cdbaf4a611db +lib/codeql/rust/elements/internal/ErrorTypeImpl.qll a925c88be7cc49256300ad98514fb63e09a71643439981236fcb343f961a86c3 195c9b90c7a4d90aab71cfa150faff1e507986ac4e0dc09f87103e27ec757473 lib/codeql/rust/elements/internal/ExprImpl.qll ab20ee174e2e786f34af6e5dedf3ec071bb89fc266b3e91df6377f72aa38d3f2 f68192700f449bf1c229cfbaabd5353c7c559941c915d5a0c88752cf9844194b lib/codeql/rust/elements/internal/ExprStmtConstructor.qll dd6bb06a7d48c12f630aafd611621cc50ce0f3e7d9abba5484a695f90879264b dc8b6ec8acc314e041ae71868803630c5d4cab488c72c1ea929bb756e1847c52 lib/codeql/rust/elements/internal/ExprStmtImpl.qll 420221c64245b490dab85f4e50d6b408cf488349869eb87312c166e185ad8145 2c2a4c71eea8c1ad8823e8e22780fadebb38ae502b3a7b9b062923a188fef692 @@ -257,6 +272,8 @@ lib/codeql/rust/elements/internal/FormatArgsArgConstructor.qll 8bd9b4e035ef8adeb lib/codeql/rust/elements/internal/FormatArgsArgImpl.qll 601f7715e9a65bcfa7cea1979fa30d694b5bea29650d799d7dd3080b8eea58e9 ecb0800cdb8c0f93277982dad295ac6a5332e42eff4fb5c8ff19f903b9857003 lib/codeql/rust/elements/internal/FormatArgsExprConstructor.qll ce29ff5a839b885b1ab7a02d6a381ae474ab1be3e6ee7dcfd7595bdf28e4b558 63bf957426871905a51ea319662a59e38104c197a1024360aca364dc145b11e8 lib/codeql/rust/elements/internal/FunctionConstructor.qll b50aea579938d03745dfbd8b5fa8498f7f83b967369f63d6875510e09ab7f5d2 19cca32aeaecaf9debc27329e8c39ecec69464bb1d89d7b09908a1d73a8d92a2 +lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll 24302e3e624c3e2ccfa96bfa2857132cdae83bf365878f8cd7635dee7e1423bc a7caff87319a637076175ed4d07b7071d3ab5a346c976194ae8b523ad515dc2c +lib/codeql/rust/elements/internal/FunctionTypeImpl.qll b9046fa2706119840d091eb1e881bfc1d57216ee5ed2a263da70650521bb4751 c3328ef608e39276cd8a99ea3d9dd8a440eaf906515ad23af48edd7db1ffee92 lib/codeql/rust/elements/internal/GenericArgImpl.qll 6b1b804c357425c223f926e560a688e81506f5a35b95485cecf704e88cc009ee cc1ccf6a23dadc397e82664f3911d4b385d4c8ca80b1ee16d5275d9c936148dd lib/codeql/rust/elements/internal/GenericArgListConstructor.qll 46859bb3eb09d77987a18642d65ba2e13471a4dc9c0a83a192fddc82e37c335c 2c7d54c876269a88d3461b05745e73b06532b1616cae9b614ac94b28735d8fc4 lib/codeql/rust/elements/internal/GenericParamImpl.qll f435f80d7f275803c1311d362467f4a367deb5a2c0245b17a9e12468a2c3ce2f 8e8fcc29f510efa03ce194ad3a1e2ae3fbd7f8e04ab5a4a2d1db03e95f388446 @@ -315,6 +332,8 @@ lib/codeql/rust/elements/internal/ModuleConstructor.qll 31cc83c9d8f25ac07375d19e lib/codeql/rust/elements/internal/ModuleContainerImpl.qll edf616de603565584551e93507322099776f18be6ca989b0e18bc900bae4cc38 909a3470e17d82356e65bd0b994047bd70a3398bdb85bd49b642c4d2e1ebfe99 lib/codeql/rust/elements/internal/NameConstructor.qll a760134c6d4fc785746e1a5dc042a6bf25b8adaa3947a6897c31e50fd91dd5fd 1359f903d57112bcc1f62a609febb288301bfa810e569aa12e1045fd48b5b5c9 lib/codeql/rust/elements/internal/NameRefConstructor.qll 5ff6eacc614fd41f98b54cbb4960a07a1471cf4ea291758d33e54a48fd5d1bc4 c538d65414a24dfdbeb49cfd997588227559ba038f0b55d14bb5d89ed1a016f2 +lib/codeql/rust/elements/internal/NeverTypeConstructor.qll 6a86bff9d885eddf39a159698710def40d693ccfd0888aefd090a283cb59ae95 9c51d6569f267dde5597067a8470d19d7714304399de4f730e7b85ca21feee20 +lib/codeql/rust/elements/internal/NeverTypeImpl.qll 26959da017a517d8aa899abe3e331aa86e994a25cd66e914aab1c998832e3223 ba541a7eb97a5b912e9f3ccf2589a685f856562e9a5dc12c87d2caa88ebe36d0 lib/codeql/rust/elements/internal/NeverTypeReprConstructor.qll 2e0a9c75e389e9ef41a18dd9b5d6c29ffe1d1d633e51ef1de90ec553236d201a 61ea87802fd1c3a68e864ccd76657253a228b06471e4c55bcf94ca2be554f866 lib/codeql/rust/elements/internal/OffsetOfExprConstructor.qll 616e146562adb3ac0fba4d6f55dd6ce60518ed377c0856f1f09ba49593e7bfab 80518ce90fc6d08011d6f5fc2a543958067739e1b0a6a5f2ed90fc9b1db078f0 lib/codeql/rust/elements/internal/OffsetOfExprImpl.qll e52d4596068cc54719438121f7d5afcaab04e0c70168ac5e4df1a3a0969817a6 6ab37e659d79e02fb2685d6802ae124157bf14b6f790b31688f437c87f40f52c @@ -332,13 +351,19 @@ lib/codeql/rust/elements/internal/PathExprBaseImpl.qll e8b09447ee41b4123f7d94c6b lib/codeql/rust/elements/internal/PathExprConstructor.qll cf6e0a338a8ed2d1042bdee4c2c49be5827e8c572d8c56e828db265d39e59ae3 36a3d1b7c5cc2cf527616be787b32071b9e2a6613a4f6b3f82e2a3b0e02a516f lib/codeql/rust/elements/internal/PathPatConstructor.qll 966c4ea22218ef71e000d7ce8dd5b570c39ad96b9239a3aa8a38292e2a9f36d2 8a1f348e9257ffc6e6bedcd70389b8e7ec2a3ed6e7b3733744ddfab284826e57 lib/codeql/rust/elements/internal/PathSegmentConstructor.qll 2d9639e42035dc7e73b7d6ddb8a977beadc6b4492dee4292b2f85b4409344441 c337fc3b9ef56366428772563e3f25f711474d16e860d3e89c1395a95d9e83e7 +lib/codeql/rust/elements/internal/PathTypeConstructor.qll 8949742c7ab7fcfa3a3f6469e87355a6888931ab9ac7a6a07d2bd51e3fdf8283 fb1a402e94e9a1f33b7757338d7e95b107933339615a4fe86de33e41206dd94a +lib/codeql/rust/elements/internal/PathTypeImpl.qll 00776695c062a01034a639c81dcfe9309c9293a7639eb79103d1bb8e978b7a86 7d7a6fd02edcff2a7f6ea843c97efc74a3484622bf9b25c5b9ed21bc8bdf251f lib/codeql/rust/elements/internal/PathTypeReprConstructor.qll e05e7be13d48e7f832e735254777692d4be827a745b1fd94b9649d46fe574393 4aa1e6935a4479b61f205265cbbba01ce96d09a680c20d5decf30d1374d484d4 +lib/codeql/rust/elements/internal/PlaceholderTypeConstructor.qll 73296b861d933e460a14211f462923f769dc53062454842a9bc5254fe3518e7b 8181de31496b6da80c7aff1d2f33978203d84c311f988a23ca737af7a1ec8dc5 +lib/codeql/rust/elements/internal/PlaceholderTypeImpl.qll cb7aa0f96a5e65692869b59cdd6516c2f75971687b78c742fa0d49d45d23a22e a0b4fc5a4b7cdc3d110c6e86f505ea8fefa4190d7028531b7d48339e5ab17236 lib/codeql/rust/elements/internal/PrefixExprConstructor.qll 90c50b0df2d4b4cbf5e2b7d67a9d243a1af9bfff660b7a70d8b9c7859c28bca7 1a1b5ea1f06ed8d41a658c872e8e1915c241a7c799c691df81b9a7b55d8f2f1e lib/codeql/rust/elements/internal/PtrTypeReprConstructor.qll c8bd3502dc23429577fbff0fe3e3c78b812b2237b2bb65862c137083fdaa7a4a 4d5c135be30f71a3712acbc22bdb6c425fa6463043a9ee64543da31151d68366 lib/codeql/rust/elements/internal/PtrTypeReprImpl.qll 82bb14c7c5764aa6c829d463ed7fb2a8a936881e6f499c8d02fb0964d2f663e6 0a297e11635a7eb7a29989e7ce867f7ac38bc45b6796a0c823c88784def52449 lib/codeql/rust/elements/internal/RangeExprConstructor.qll a0aa90a1c38c5deea56475399016afae2a00a858b961fbbab8ddeb3bc6a08103 0ddf1bcf28aafc56d7334e6138fb268f9b36a429e4cbdd982cd8384e0644076b lib/codeql/rust/elements/internal/RangePatConstructor.qll fe4345cb41d970ab64196ca37eccb26e5b9cf85fab4253cacfd2b31de03bd070 1d09d5ec8203d76aed2dfb7e7f14c0c07d6559c8f589e11860fff8a2c682c1a6 lib/codeql/rust/elements/internal/RangePatImpl.qll ef11ab2c002896036553231741a7cf896fafa09e22e920e15661b9cbe4393cae 24ac2dcce3055a77f3a5e0b38cf13aebefd2eeaefa53674ff144a6225634ac0d +lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll 189adb0023c78bd3401a334850fe26929dbe54c9532eae6bcd014e355b07eeaa 3eeabf6d5c05813895760f92892178c9d5207d8fe5000419afafb0683daa9b25 +lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll a20ed6dc1f3778378b9a3bbc16e20abd84aab5ffce4c2b0e37a3eee7d83ac142 d71fc6ef4af6ee261b2ba98e6988efdad22396c3079da24ef64775718e100b9f lib/codeql/rust/elements/internal/RecordExprConstructor.qll 742198bd8223902b5625b4a574a9e3539a8b6cf8e48eecc57cc2de4e980fba6e 0a99e454e234e8b7b59dc11b167172a5fcd31b8a5282349956d6fd861ec735df lib/codeql/rust/elements/internal/RecordExprFieldConstructor.qll 11620bc4e2dc7b3903be764cd9510a8e002892722b502876cf3467994aa7a63c e42e50747dd9453a44705b2d6a05e7a4a8c6debed988a0335a774a547d8f7157 lib/codeql/rust/elements/internal/RecordExprFieldListConstructor.qll 3a0d6ec872792c400d3a0a5ed1c5051b248a597a4b17ada1a078ea5d972b6721 52bae8222e7aa5bc89b73bec3fd1c3c1de0fe11bf30ccf5668454f63fbfc9b83 @@ -356,6 +381,8 @@ lib/codeql/rust/elements/internal/RefExprConstructor.qll 9ad08c0f3d980a56a2af885 lib/codeql/rust/elements/internal/RefPatConstructor.qll d8b88c2c468b08072f6f853306eb61eb88ee1e6c5cfb63958f115a64a9715bb3 0c1d6a8af6a66912698acce47e89d4e3239e67f89c228a36a141f9c685c36394 lib/codeql/rust/elements/internal/RefTypeReprConstructor.qll 8e7012b456ebf1cc7a2c50892c0fffd51f0d5d83e417e1d4cabd4d409e3dddc0 4f3c6368bcea5e8c3f0b83591336f01331dc6dabf9c1e8b67de0fc4d640f65f0 lib/codeql/rust/elements/internal/RefTypeReprImpl.qll dacd6fa69d2ed4b8899c64256c543b735c02e94823268e3c73bd29b528c855a1 f574ecfa50e1ffee5787422c7babdf19121bd8e31e3520f776b1dd706349d6b6 +lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll 53d7045ecf458ef48c9a484fad70393cd2789ab7dbd807031c0ec4da49385b3d 92f2b0bfa812d5ea8696700f71307fdfe2d77936aaae78349d863f2a843dc0ed +lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll 9032058ef0c7877f705fe3c556419762a7f170dd2fa4f6dd0c6b1fa6762ade54 d773fd2b5b0b70127329c8345cd17c5f3b00e444983932b5897384eb0cc0b093 lib/codeql/rust/elements/internal/RenameConstructor.qll 65fa2e938978d154701e6cac05b56320b176ee014ef5c20a7b66f3e94fd5c4a7 dfc0ff4606b8e1c14003cc93a0811f4d62ec993b07ff3c1aa0776746577ed103 lib/codeql/rust/elements/internal/RenameImpl.qll 4f5943fbda4ec772203e651ed4b7dd1fb072219ddc0cb208c0a0951af5e72bd6 b9854cdcf02e70ee372330a4e0bfdb03012bc81af79dd12af2a567fd7fc4672b lib/codeql/rust/elements/internal/RestPatConstructor.qll 45430925ddf08fba70ede44c7f413ddb41b3113c149b7efc276e0c2bf72507b4 25c678898d72446e7a975bb8b7f2fde51e55b59dbd42f2cca997c833b1a995f1 @@ -368,6 +395,8 @@ lib/codeql/rust/elements/internal/SelfParamConstructor.qll a63af1d1ccde6013c09e0 lib/codeql/rust/elements/internal/SelfParamImpl.qll def23beb8926f498fc81b7b44489001b35d704da1a2058c84c23b329e8bc2f49 c9be1e8fa2c4e23b314a4d0563be6cffcbab6f03d08b77a366f7638b28a09de4 lib/codeql/rust/elements/internal/SlicePatConstructor.qll 19216ec9e87ca98784d78b29b8b06ea9ac428e2faa468f0717d1c0d0a8e7351c 458e5be76aa51aec579566be39486525ec9d4c73d248cb228da74892e2a56c08 lib/codeql/rust/elements/internal/SlicePatImpl.qll c6176095360e3b23382557242d2d3ff0b5e0f01f8b1c438452518e9c36ff3c70 644ab41a59a619947f69f75e2d0807245d4ddefc247efaeab63b99b4f08c1cc1 +lib/codeql/rust/elements/internal/SliceTypeConstructor.qll 643e7a2ae261e8f62de8bc2886efddcc096e0c7e8159c0b9e87b24d0509e10d0 719545abb0ccf6e8a203ec9c9f75109c5ab0593c838e2f90e388858680ec62f7 +lib/codeql/rust/elements/internal/SliceTypeImpl.qll 0ea170d7ebd3655637fe2c8e40a51f5209b0c20b6f3d987477f0fff138f16c2a f253a681c9db9ea75085421091bd336f3e222ca84910eeae992242c160305e03 lib/codeql/rust/elements/internal/SliceTypeReprConstructor.qll 4576f203450767bfd142b1d6797b6482bb78f7700b6b410475b182d5067504ae 2b5aeaf91d5ea10e2370fa88b86bce7d0691d6d00f18ab8e1a1be917bb1619bb lib/codeql/rust/elements/internal/SliceTypeReprImpl.qll e97dd1e8ff1c5d79f845d9bf3e3f190d4497bea93a806dbac97d62ecdffff7da d6c33bfcd3e8bf1cdf96ef95e25ac5dad19f20233f7f4f95c038f83ebb699c4e lib/codeql/rust/elements/internal/SourceFileConstructor.qll 1dc559887ea7798774528b5505c8601c61030c17480f7ffca49b68b76fcc0321 75a635b88622e3110b16795bd12ca6fc4af176c92d6e441518d60aa47255edc1 @@ -397,6 +426,8 @@ lib/codeql/rust/elements/internal/TupleFieldListImpl.qll ec17ddfe1d03210b7737f9c lib/codeql/rust/elements/internal/TuplePatConstructor.qll 2a5e83ad5b8713a732e610128aeddf14e9b344402d6cf30ff0b43aa39e838418 6d467f7141307523994f03ed7b8e8b1a5bcf860963c9934b90e54582ea38096a lib/codeql/rust/elements/internal/TuplePatImpl.qll 4adb38f0f8dae4ff285b9f5843efb92af419719a7549e0ff62dc56969bd3c852 3f622130771d7731ed053175a83b289bab1d1f5931526c4854923dbcec7e43f1 lib/codeql/rust/elements/internal/TupleStructPatConstructor.qll 9d68f67a17a5cec0e78907a53eccfa7696be5b0571da4b486c8184274e56344a 3ffa29f546cd6c644be4fecc7415477a3a4dc00d69b8764be9119abe4c6d8b9e +lib/codeql/rust/elements/internal/TupleTypeConstructor.qll 88eaec829cd4dcc6a152c7a335b1d365702ef410e46d9c04806fe53f06325b23 044fd0aca067bae82eb8ac448b7bcc66bc736e7e0ab8b770ee126381888fac3d +lib/codeql/rust/elements/internal/TupleTypeImpl.qll e05ca0beac96ba091083c9c73c458f2458b055c0e4f0a4a376066399d43145ce da55303ba9d00d7a4cac4b032836a9fbd4aec1473f1289ecb86ac31c5b5aaf8b lib/codeql/rust/elements/internal/TupleTypeReprConstructor.qll 80c31c25fd27e330690fb500d757a4bbd33f226186d88ea73bfe4cf29a7db508 d572a72fa361990a3d0a3f9b81d1e966e2ba1ac0a60314ec824c1b8b2814c857 lib/codeql/rust/elements/internal/TupleTypeReprImpl.qll 149719039d66f0cfb620e18d7af7e0995c5125a91f3883ad979e9ad480136d6e 310ef7e9e1e42853aa6a2c7bd9b8155773ff2b091d853059c7e04c8d5e30d723 lib/codeql/rust/elements/internal/TypeAliasConstructor.qll 048caa79eb7d400971e3e6d7e580867cbee4bd6b9d291aafac423aa96c321e76 d1d1e33a789ae6fa1a96af4d23d6376b9d82e14e3cbb777963e2d2cb8b22f66d @@ -407,6 +438,7 @@ lib/codeql/rust/elements/internal/TypeBoundConstructor.qll ba99616e65cf281118701 lib/codeql/rust/elements/internal/TypeBoundImpl.qll 4d6763884968be0dee85cd1a6a18e1406178a3cf3bc905be2813cf4953b428ac 1e2dd309a9153ab60962b2584b9a2f16b68a75bd7168815642dcadf480da292e lib/codeql/rust/elements/internal/TypeBoundListConstructor.qll 4b634b3a4ca8909ce8c0d172d9258168c5271435474089902456c2e3e47ae1c5 3af74623ced55b3263c096810a685517d36b75229431b81f3bb8101294940025 lib/codeql/rust/elements/internal/TypeBoundListImpl.qll 23557f993a1de15a3b08652f53fd99dea8b3af4b8a65d7331e99f50735a7942c 8d91dbad037268ec37907ef6c2b0e927f648551afb57f706ed4d79d6aad5f5d6 +lib/codeql/rust/elements/internal/TypeImpl.qll 0d544ff63fa7ef3ba6f1327e25df8f765455f0d266e58c59dc40edf4d7bc2709 5e207dbba81713920fd8f032f04e3b1884e0d6781748f89b59476b57cf2371d1 lib/codeql/rust/elements/internal/TypeItemImpl.qll 098be8533c7e4a6832fc8fa3f527583b88ce11def44c1f0ecbedf599cbd26d8d 09b6442472bd274fdd03bb31e6531c1af097b433b67d04b1aa34bee21c9a6041 lib/codeql/rust/elements/internal/TypeParamConstructor.qll a6e57cccd6b54fa68742d7b8ce70678a79ac133ea8c1bfa89d60b5f74ad07e05 0e5f45d250d736aaf40387be22e55288543bdb55bbb20ecb43f2f056e8be8b09 lib/codeql/rust/elements/internal/TypeParamImpl.qll 9e7169e8254e2d9d13b11a17cbe04e874f72fb67a75c3585e70eddec71ba5c7f b8c862b2cd53bc211caea23261d9832613418aae51f63ef08922d300c2d1f4f2 @@ -448,6 +480,7 @@ lib/codeql/rust/elements/internal/generated/ArrayExpr.qll 73806a0de8168b38a9436f lib/codeql/rust/elements/internal/generated/ArrayExprInternal.qll 67a7b0fae04b11cf771727ff39a123fb2d5ce6e2d650d32478fcb33a26ed5688 15833405fa85f6abe0e5146dac283cb5a142a07f08300ccc15a1dae30ed88942 lib/codeql/rust/elements/internal/generated/ArrayListExpr.qll f325163c2bd401286305330482bee20d060cecd24afa9e49deab7ba7e72ca056 ae3f5b303e31fc6c48b38172304ee8dcf3af2b2ba693767824ea8a944b6be0eb lib/codeql/rust/elements/internal/generated/ArrayRepeatExpr.qll ac2035488d5b9328f01ce2dd5bd7598e3af1cbb383ddb48b648e1e8908ea82fc 3ec910b184115fb3750692287e8039560e20bd6a5fb26ac1f9c346424d8eaa48 +lib/codeql/rust/elements/internal/generated/ArrayType.qll 568b7ca962dbec47f4d231de8d0e6fffdadb3bf723b8ba4ab8855250867324e2 03bb214559c7c05af2390ac80b5ce46570343b122c851ecfee4f77b6bced6205 lib/codeql/rust/elements/internal/generated/ArrayTypeRepr.qll 0945bea9b40ebf871b9d5ac974e256cda985f05113cac63cf8af48da5e4eaace 4d8b67d3ce117f509f984d03ae0c44533d3880d4687c7614fed1e9eac9ce2e6f lib/codeql/rust/elements/internal/generated/AsmExpr.qll b5fef59589c02c17857a4a7f5c7b5efb747a1e98710167efa5c2e88cffd7bcbb b43b297a3b4894e8dd92ef3a23b76f2684c303d41e6030398e69b7754ebea9cd lib/codeql/rust/elements/internal/generated/AssocItem.qll aa7c06e001b67e4a59476fa7299e09f8da16c93f91aff0ec9812c64386e7c023 0032b45e34e6aba9c4b3d319b108efa0de8ad679b5f254a1ec7c606877ff5e95 @@ -480,6 +513,7 @@ lib/codeql/rust/elements/internal/generated/Element.qll fb483b636180c699181c8aff lib/codeql/rust/elements/internal/generated/Enum.qll 4f4cbc9cd758c20d476bc767b916c62ba434d1750067d0ffb63e0821bb95ec86 3da735d54022add50cec0217bbf8ec4cf29b47f4851ee327628bcdd6454989d0 lib/codeql/rust/elements/internal/generated/EnumItem.qll 8b0163f874ab9c60017885d1e8146e3637fc38ba5e4b902d1e19d87923bc9f51 a3a99234d7f4af74e9d55a74e269acd3773b9c6ff5d998240827a90cfa318398 lib/codeql/rust/elements/internal/generated/EnumVariant.qll eba81b9dc49a796444c4e7c774cfce0146053414a36fc66a390514334fa471cf cb3f58ec7f62f5a592002e400d97821e39cc918a1e6b073346386a4074ac9a53 +lib/codeql/rust/elements/internal/generated/ErrorType.qll 87b30eafb5d23865ff7ff2fcc9339dad7d91602e537e40241a1791d855e177b0 603314cc4ff73559de8577f63121bd34e610963d74b58d8f78cbe85fbff4c9ce lib/codeql/rust/elements/internal/generated/Expr.qll 5fa34f2ed21829a1509417440dae42d416234ff43433002974328e7aabb8f30f 46f3972c7413b7db28a3ea8acb5a50a74b6dd9b658e8725f6953a8829ac912f8 lib/codeql/rust/elements/internal/generated/ExprStmt.qll d1112230015fbeb216b43407a268dc2ccd0f9e0836ab2dca4800c51b38fa1d7d 4a80562dcc55efa5e72c6c3b1d6747ab44fe494e76faff2b8f6e9f10a4b08b5b lib/codeql/rust/elements/internal/generated/ExternBlock.qll c292d804a1f8d2cf6a443be701640c4e87410662921e026d3553bc624fd18abd ba6fae821d2502a97dec636e2d70476ad0693bc6185ae50e8391699529bd0ee0 @@ -498,6 +532,7 @@ lib/codeql/rust/elements/internal/generated/FormatArgsExpr.qll 8aed8715a27d3af3d lib/codeql/rust/elements/internal/generated/FormatArgument.qll cd05153276e63e689c95d5537fbc7d892615f62e110323759ef02e23a7587407 be2a4531b498f01625effa4c631d51ee8857698b00cfb829074120a0f2696d57 lib/codeql/rust/elements/internal/generated/FormatTemplateVariableAccess.qll a6175214fad445df9234b3ee9bf5147da75baf82473fb8d384b455e3add0dac1 a928db0ff126b2e54a18f5c488232abd1bd6c5eda24591d3c3bb80c6ee71c770 lib/codeql/rust/elements/internal/generated/Function.qll 6c04fffdc9de54cd01ff76f93aef5fcd3f2f779a2735523c9b1a859d394cefc9 af3c0f05c05ecd74560ab7b128a4a8e9822aa3cb80eddf304d51ea44725ac706 +lib/codeql/rust/elements/internal/generated/FunctionType.qll 5fe5d940678ff4f2a622a2ed0df558cef1fee9bebdf0936274229842b41e56e2 cbc5fb22dcb1c567bbbd74f964a9fa8dd50fa9fcfee367578c58a84b4f360171 lib/codeql/rust/elements/internal/generated/GenericArg.qll 464da0ba1c5ddcd1be68617167f177773d99b5ac4775ec8ea24d503e789a9099 6faa1033d59baf7c210ac4837a55781cfc054b7acbad8027faf4630dbfa6e101 lib/codeql/rust/elements/internal/generated/GenericArgList.qll b8cd936bba6f28344e28c98acf38acb8ef43af6ecf8367d79ed487e5b9da17cb 8b14331261e49d004807285b02fca190aafd62bfb9378b05c7d9c1e95525fe7b lib/codeql/rust/elements/internal/generated/GenericParam.qll a0285123f974f287154b706bf6688b86edf72a4adcec57346c654d962435651b b42c3915e9564b5b5c5282229bf882aa3309de26a77721b2255d6f4235c0cc38 @@ -542,6 +577,7 @@ lib/codeql/rust/elements/internal/generated/Module.qll ebae5d8963c9fd569c0fbad1d lib/codeql/rust/elements/internal/generated/ModuleContainer.qll f0374c07332c0d17302b3ac4939822e942a5b6626b64a956c8cc1180c7650ba7 ac18c60c2a4602eadeaf41809a3124d79d957430c3c84e48502bf6a2dd2ec7c3 lib/codeql/rust/elements/internal/generated/Name.qll 12aad57744b7d1b04454159536409244c47319aedd580acb58ee93ef9d7f837d 63fc67ccc085db22f82576a53489f15216a7c29d5b941b14a965eab481534e2e lib/codeql/rust/elements/internal/generated/NameRef.qll 4292fc7aa9ba22a7fa5bd638c38f696cc6724d8ed5e7346e7c5a52c4e4b65eec dfa8c3d4b521e43b76b18666d3d32d159c21b7b194285bac425df681544d269f +lib/codeql/rust/elements/internal/generated/NeverType.qll 7b1546112e9c8c2c8966b0f81c3a2f2225df1b2a3de622c766d21576f0b1c9a0 f29da50b29ceeb73b383aa224dccee54de4727a183db78e8f4d9813903644dff lib/codeql/rust/elements/internal/generated/NeverTypeRepr.qll c601b228a6359f809425ad43b46c1c444c9826652b07f8facc6f9729df268285 23b53bb1d826a8b54b68bd4f138ebaabeeb2f56392c882b32417eff388aa80cc lib/codeql/rust/elements/internal/generated/OffsetOfExpr.qll c86eecd11345a807571542e220ced8ccc8bb78f81de61fff6fc6b23ff379cd12 76a692d3ad5e26751e574c7d9b13cf698d471e1783f53a312e808c0b21a110ab lib/codeql/rust/elements/internal/generated/OrPat.qll 0dc6bd6ada8d11b7f708f71c8208fc2c28629e9c265c3df3c2dc9bea30de5afa 892119fc1de2e3315489203c56ee3ed3df8b9806e927ee58aa6083e5b2156dab @@ -551,7 +587,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60 lib/codeql/rust/elements/internal/generated/ParenPat.qll 4f168ef5d5bb87a903251cc31b2e44a759b099ec69c90af31783fbb15778c940 0e34f94a45a13396fd57d94c245dc64d1adde2ab0e22b56946f7e94c04e297fc lib/codeql/rust/elements/internal/generated/ParenTypeRepr.qll 40ab5c592e7699c621787793743e33988de71ff42ca27599f5ab3ddb70e3f7d8 12c0a6eed2202ee3e892f61da3b3ce77ac3190854cdf3097e8d2be98aa3cb91d -lib/codeql/rust/elements/internal/generated/ParentChild.qll 9c8255221f7b6eeb00ef9a82e78f8c6f6e4752a4cd96e6d62150345ce29806ae 444721a387edb8f0aff142a0c04b99618a928b11876e64d07d021ed3eed93fed +lib/codeql/rust/elements/internal/generated/ParentChild.qll 672ddc4561ee18a7f6fb53ee3f286a427c9baf93d656052f3647f46a6fe8e31a cdb1d85cde20c85c1c8b738c3e2b8a0598dc1ca3d5747f981abd461073a21a48 lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 lib/codeql/rust/elements/internal/generated/Path.qll bf6a86e7fcb7164624cc070dcce86d2bda50a2516b95115b87d0ebb5596e50a1 fd7a9ad4034cdebe8dfe495619c46f464630d38195313072e0bd904061b0fb00 lib/codeql/rust/elements/internal/generated/PathAstNode.qll e6d4d5bffd3c623baaaee46bc183eb31ce88795535f164f6a9b9b4d98bbd6101 168db515404933479ba6b150c72e012d28592cbc32366aefcb1bf9599dbcd183 @@ -559,13 +595,16 @@ lib/codeql/rust/elements/internal/generated/PathExpr.qll 34ebad4d062ce8b7e517f2a lib/codeql/rust/elements/internal/generated/PathExprBase.qll d8218e201b8557fa6d9ca2c30b764e5ad9a04a2e4fb695cc7219bbd7636a6ac2 4ef178426d7095a156f4f8c459b4d16f63abc64336cb50a6cf883a5f7ee09113 lib/codeql/rust/elements/internal/generated/PathPat.qll 003d10a4d18681da67c7b20fcb16b15047cf9cc4b1723e7674ef74e40589cc5a 955e66f6d317ca5562ad1b5b13e1cd230c29e2538b8e86f072795b0fdd8a1c66 lib/codeql/rust/elements/internal/generated/PathSegment.qll f6892724c0b516f7e04eee3878c8060c5a4c54fe2a3a3836470c86df5fddb28c bdb6b89cf037e09b395729b25117dabc86ebc8b967e39856b5e2a1f3810bb86c +lib/codeql/rust/elements/internal/generated/PathType.qll 918a4fb6505bc229f9e72b3cac6881b9542cd828a0ab8508c1bd2effe2b3509c 351d0a6e31fcb731c58dbd1db070b2f5f46e1d924d505a6b0571e80205fa24c5 lib/codeql/rust/elements/internal/generated/PathTypeRepr.qll b847fabe7059485c5194cbc144f38dae2433057771ff10fe0b6ae9876b33afd4 ee2fdcd86d78c389a2276ebe7e889f042b7bb39c3c611f56b951591600a60e8a +lib/codeql/rust/elements/internal/generated/PlaceholderType.qll a75bd294a01e0747d99e798706575a97a61eca234f25a5042ba30148a54e38a1 49dcaf5adfb4f6b8d6ab57de158f52ff08da4fa14862915ce3aed5b20e31586c lib/codeql/rust/elements/internal/generated/PrefixExpr.qll c9ede5f2deb7b41bc8240969e8554f645057018fe96e7e9ad9c2924c8b14722b 5ae2e3c3dc8fa73e7026ef6534185afa6b0b5051804435d8b741dd3640c864e1 lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll 51d1e9e683fc79dddbffadee9015b5351bf03ce48f879da98b1f6931a61166f8 122a9c4887aa24e3f3a587b2f37c4db32633f56df3c8b696db4b8a609d9d4a98 lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f e5b8e69519012bbaae29dcb82d53f7f7ecce368c0358ec27ef6180b228a0057f lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll 80826a6a6868a803aa2372e31c52a03e1811a3f1f2abdb469f91ca0bfdd9ecb6 34ee1e208c1690cba505dff2c588837c0cd91e185e2a87d1fe673191962276a9 -lib/codeql/rust/elements/internal/generated/Raw.qll c4a96d27726b6ccf7948d37133b5bce5b48c24d7a72ebd49e4f7adac1f48ad37 1c4b742bed72b789afc71b797596e85f09a964cb3ea20c30ac77067ce1d504de +lib/codeql/rust/elements/internal/generated/Raw.qll f6a8d08e6b105d827cc3d3e7b75c11d806f989a5c542c8bab518b4be02fab1c3 024231acb067aecce4cdd0ca37d5b73f5e273bbb72185a97898802b9f75561aa +lib/codeql/rust/elements/internal/generated/RawPtrType.qll 22aa51306d343b7923c29fcda0dc70334582f4aa3bbcdbed90cc922557b2dacd b38cca48d02b0f6c781d04c5ec2dcf82a22bd632bf72b9c0fb9e96c277981d1c lib/codeql/rust/elements/internal/generated/RecordExpr.qll 2131b2cb336caa76170082e69776011bf02576bbfdd34ba68ca84af24209250a 39a2e3ec32352b594c43cc1295e0e8b3f9808173322d3d73cb7d48ef969d5565 lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1 lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0 @@ -577,6 +616,7 @@ lib/codeql/rust/elements/internal/generated/RecordPatFieldList.qll a6db0cdcc3da6 lib/codeql/rust/elements/internal/generated/RefExpr.qll 7d995884e3dc1c25fc719f5d7253179344d63650e217e9ff6530285fe7a57f64 f2c3c12551deea4964b66553fb9b6423ee16fec53bd63db4796191aa60dc6c66 lib/codeql/rust/elements/internal/generated/RefPat.qll 456ede39837463ee22a630ec7ab6c8630d3664a8ea206fcc6e4f199e92fa564c 5622062765f32930465ba6b170e986706f159f6070f48adee3c20e24e8df4e05 lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll 3d8c0bd296d33b91a81633f697a43269a6538df06d277262d3990d3f6880ef57 13680f39e89bcd8299c218aba396f3deec804597e6f7cb7d4a7e7c748b6faa77 +lib/codeql/rust/elements/internal/generated/ReferenceType.qll 60d5a7680475e9893535c2bc29c291118616bbb6620abb10f359cd5ecd453671 b8b9c903ba5f1a3540de2b5122889bfd7af21df45b041478a9cc23f146eb6892 lib/codeql/rust/elements/internal/generated/Rename.qll d23f999dab4863f9412e142756f956d79867a3579bd077c56993bdde0a5ac2f1 9256c487d3614bf3d22faa294314f490cf312ab526b8de0882e3a4a371434931 lib/codeql/rust/elements/internal/generated/Resolvable.qll 586eefb01794220679c3b5d69c059d50c2238cf78ab33efe7185bbd07dea8dbd 1b7c7297d541b9de9e881d18fed4ae40dd327396366a3a6f52a24b85685fa9c1 lib/codeql/rust/elements/internal/generated/RestPat.qll 234bbaa8aa37962c9138baf5b1f4406c3d78f4131b4b8dbb30fc1343d15873d5 653ee6bea4d3cf9454b2834bc4233a8f275295f19635c37a0bca69a587e1eb20 @@ -585,6 +625,7 @@ lib/codeql/rust/elements/internal/generated/ReturnExpr.qll c9c05400d326cd8e0da11 lib/codeql/rust/elements/internal/generated/ReturnTypeSyntax.qll 34e32623d2c0e848c57ce1892c16f4bc81ccca7df22dc21dad5eb48969224465 ccb07c205468bce06392ff4a150136c0d8ebacfb15d1d96dd599ab020b353f47 lib/codeql/rust/elements/internal/generated/SelfParam.qll e1d994dea58a406dbfca3ea0c724ac48be66ac4380e7270e4037ca2714eef722 90f8ebfac723eef259e13d3c8a7ef6b886c2831d4f436a742144b96db6b6fc92 lib/codeql/rust/elements/internal/generated/SlicePat.qll 722b1bd47a980ac9c91d018133b251c65ee817682e06708ad130031fbd01379b 7e0ce13b9de2040d2ef9d0948aab3f39e5fdc28d38c40bfbee590e2125dbe41c +lib/codeql/rust/elements/internal/generated/SliceType.qll 0ad2168261e25da902f5abe434295425be72a6407017fe5580987a3590fa6b79 336aae23cc397b444293614e09db9e506485691e57e440d4d5d46f6a72f46a21 lib/codeql/rust/elements/internal/generated/SliceTypeRepr.qll efd28e97936944ce56ab5f83aa16cf76cc1b42a39c123959d3a878ca13ceb84e 3435ea66d467f4234b9644ce63fa9072a7e9ac86e23d464ba18aea7802fc03a7 lib/codeql/rust/elements/internal/generated/SourceFile.qll 55d44c9f09c5ff28c4f715f779a0db74083e1180acaf0d410e63ca07b90d1cb5 78c0af48b0b64aa377413ea4799dfe977602a111208e1d25e4bdfa920dbd7238 lib/codeql/rust/elements/internal/generated/Static.qll ea22838e0b7d9796dfaf5deda5b42f0187cc4fd30791a9dbe378b364d9485978 2496a208a702295984f3a29a9c3c3c19d5b1a6b16267e3dd4e6f3c5930e5faa2 @@ -592,8 +633,8 @@ lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd17 lib/codeql/rust/elements/internal/generated/StmtList.qll a667193e32341e17400867c6e359878c4e645ef9f5f4d97676afc0283a33a026 a320ed678ee359302e2fc1b70a9476705cd616fcfa44a499d32f0c7715627f73 lib/codeql/rust/elements/internal/generated/Struct.qll 4d57f0db12dc7ad3e31e750a24172ef1505406b4dab16386af0674bd18bf8f4b 1a73c83df926b996f629316f74c61ea775be04532ab61b56af904223354f033e lib/codeql/rust/elements/internal/generated/StructItem.qll eb1ac44b41e62d34ca5571b61cd84753ca0bcdce07b76f97a2b22c65e581fbea e05fadf9cfea84e29b2fb8fb37856ddb89fe5d15611aba92ae9f7fb8fe4c85cf -lib/codeql/rust/elements/internal/generated/Synth.qll cd237d0536207d4c5e2bbcd5c949249ef0837ace41e195b46caf81abb35d4222 7955d62cf1d7050331be83bd8f9a546c7c40f6354d463c8348c67b6c4b1f36de -lib/codeql/rust/elements/internal/generated/SynthConstructors.qll 0045a077be78167eb59145dc1bc0b60c3f104e6f9b470a25c23fd00f9cc6e7e8 0045a077be78167eb59145dc1bc0b60c3f104e6f9b470a25c23fd00f9cc6e7e8 +lib/codeql/rust/elements/internal/generated/Synth.qll e79b122f5ce29c6a11e6d5dd0e654ae5cf932b2d3634ab9b8ac545b6ef8cb4c1 0342f2718148b6d512463179f7fe7e841e2cd5dc21b92dfc799a7715cbb01ffb +lib/codeql/rust/elements/internal/generated/SynthConstructors.qll 0e851333edaa01b4d44f4ed7b07ec99610d19baedb5dc08f5ba38d2c98318545 0e851333edaa01b4d44f4ed7b07ec99610d19baedb5dc08f5ba38d2c98318545 lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e @@ -604,7 +645,9 @@ lib/codeql/rust/elements/internal/generated/TupleField.qll b092db3eb240c9e15bcc2 lib/codeql/rust/elements/internal/generated/TupleFieldList.qll 9d4981d04c2ee005e41035b9699f03bff270c4e0515af5482d02e614a0b1a875 4e60b857fbcb668fa1a001e0eff03f1aa3a7465d32ce68e23544b705fa54fc5d lib/codeql/rust/elements/internal/generated/TuplePat.qll 4e13b509e1c9dd1581a9dc50d38e0a6e36abc1254ea9c732b5b3e6503335afeb 298028df9eb84e106e625ed09d6b20038ad47bfc2faf634a0ffea50b17b5805d lib/codeql/rust/elements/internal/generated/TupleStructPat.qll 6539d0edbdc16e7df849514d51980d4cd1a2c9cbb58ca9e5273851f96df4eb36 45a13bae5220d5737cbd04713a17af5b33d8bb4cfdf17ddd64b298ab0c1eea24 +lib/codeql/rust/elements/internal/generated/TupleType.qll d35c54b42eca5ec3e76d56c09854c257c1adf24d4a98ca5e4b24fa979d7e53d7 d68d510cd03764234293a05a567a2754538566114cf6e3e77e00585b2c0d5b10 lib/codeql/rust/elements/internal/generated/TupleTypeRepr.qll dc494a783c495c96f2498230d160b59117cfa96d927861cd9d76676fefac8fb2 47da01697f143d4077978594b0c2f4c4bc5e92823dfcaad3ce8ab91725a536a3 +lib/codeql/rust/elements/internal/generated/Type.qll 28355f8b6ff5c55f6848496f5638a1573f4b4e945a9abc8340ede2853c7dffbd f6c66b524351aca1fbdf7f481e0e5ac58a5eefd333534e34ecfb9ce36aa7f6e4 lib/codeql/rust/elements/internal/generated/TypeAlias.qll 56162d01356f018a3acf20b79dcc49a939ebf4f422939fae6a20b91cbbda8564 903b61117f4caa362a350a9cbec701aa59eb2052aff848999ebfaaf574e02352 lib/codeql/rust/elements/internal/generated/TypeArg.qll e76ea103f7e9ead3be2c34718270d6893ca1980ee31e32ec19a92381e0040d73 9f2ea2d9434d57d7e3223e5d9d7662047e38bda26112751e122e2c1d03549eb5 lib/codeql/rust/elements/internal/generated/TypeBound.qll 9d956fa99bb8153f575dd2959da021bc1a9207a78910a648f4429ab45f58175e ccf59e2bf4bea133335ae57acefe03d5650dcdef19960eeb00a9e3e4e3a3ef30 @@ -619,9 +662,9 @@ lib/codeql/rust/elements/internal/generated/Union.qll 06a602aa7c7097e72fff6ea33d lib/codeql/rust/elements/internal/generated/Use.qll d42ccf3516a9f79ae8766f93ad5f09d3cdcd7b96844d4c9de64189b56018a7b4 70a9553a8f71f6cbfdd0f59a4b42292d13177613ceb0542436436e0ac2e1f8ee lib/codeql/rust/elements/internal/generated/UseTree.qll b39cbc96e473802372726d580febbfa7d73668ba476095aa4a61fae914865913 40ce6515b7df068fa8c0a7e5ae8984f50b71f6f96d625d631b28d525e3e868b7 lib/codeql/rust/elements/internal/generated/UseTreeList.qll 829441cf309f008a6a9d2e784aa414ab4c11880a658f8ee71aa4df385cd2b6a8 ced82df94fea7a191f414f7e6496d13791d2f535046844b6f712a390663ac3d0 -lib/codeql/rust/elements/internal/generated/ValueItem.qll ac922c8ad9afaabb2e80f9c1cb9182986806757aa4cf0f5e418ee9dcc3f8e8cb aef58a434eddea1a671416f8a82aedbb9bec01d6bfaae3b33eaaac1b9e27ecdc +lib/codeql/rust/elements/internal/generated/ValueItem.qll 2465e51d0d99997f4d77d5c691958b39e3432797eab348af3a8afaf8c933f154 37da78752214bc4494da860a932fab2f9aaff273568fe28ab30bafb69cbc9cc7 lib/codeql/rust/elements/internal/generated/Variant.qll e40dbb23e07c5b70adc577efdf7a064e773207f216cad8fe8905882b1da9f4a9 13f7be36d043afcfc156d2c01bb828de882df69aa732f284aa76c5f00b063544 -lib/codeql/rust/elements/internal/generated/VariantData.qll f430d97a2d3fae29d1e79ee53fc49d9999a8aac56b1cdedce56bc880ec553d1d c8fae08faca7cb1775451989145bae28ad1857ebf9d89759ef7abe5ccc645b52 +lib/codeql/rust/elements/internal/generated/VariantData.qll aae8fcba59edb9b3ae5e7166a2e08a64ba9e2d54e0244c2bbef284058a383b7a 3dd3486d187ae14472b1b081080d3b9929c24a5d0ba817b419a163be83e2c936 lib/codeql/rust/elements/internal/generated/VariantList.qll 4eb923ca341033c256ca9b8a8a5b4e14c7eac9d015be187fd97eeb25dfb1e18e e7865e975c35db49cd72cb8f9864797d3cfed16c3a675b5032b867ced2bbb405 lib/codeql/rust/elements/internal/generated/Visibility.qll aba81820f30bed0fd2cd06831f7256af15ae32525b2a437896420b4cc067ea38 d6aed90b27124b812daf2ddd14b4e181277cbe638b4ccaab74e27681ac30e4ab lib/codeql/rust/elements/internal/generated/WhereClause.qll d6c8f72bbec5d71c024f0d365c1c5e474f4d24ded0d34c56c1f66b1e4a384e9d ed14311d140eee00d3b26a4972f53e20d5af1bddf88fb5618e7e2d3ae1d816f3 @@ -630,7 +673,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 7edf1f23fbf953a2baabcd lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll 9d1fd8b08d01e90b5b074cf55b0bb8f09f9859547dbc1a32e62993fefe7ab59c 9d1fd8b08d01e90b5b074cf55b0bb8f09f9859547dbc1a32e62993fefe7ab59c +lib/codeql/rust/elements.qll f1aab6958daf77a85c47600fb83c36e4afc9a1c367656ef68a52e565b49517cd f1aab6958daf77a85c47600fb83c36e4afc9a1c367656ef68a52e565b49517cd test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52 test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684 @@ -641,6 +684,7 @@ test/extractor-tests/generated/ArrayListExpr/ArrayListExpr_getExpr.ql 6920b53262 test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr.ql 60a0df80fd34ca5c960b5e060c7090f8bbb8af83aba7099aa298a80e19a13346 c41f80601c7f50eee01c0ed7587e0198296d6a8a5b95c98dd8f865901d34ba5c test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr_getAttr.ql fc6ca212aa633b73ee21f7564631c9ad345f15839656d88940dc686cf076a344 d580a367305adbe168996a294329b1adec36956a500ae9717a4af78cb2bef4e6 test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr_getExpr.ql 6b00037350fc36cc46345a290bda4c4d4ff99050b970d23eb94294313046a884 0687638b46e43bba9dda35d78ff7b40f976e5e38271eec77e7a21c28349dc42c +test/extractor-tests/generated/ArrayType/ArrayType.ql bbbf6ffae562635ccc4c4f0c199eb9d759a4ca33a576a338c4d2ebed489df935 5411b2ca19e3100cdb1125c835eccee19a543ba07d00881b8e2aa8b2f0fa6eed test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr.ql cfb831ccbc04092250931e0bd38c7b965fe0fd868081cd5f49fb11cd0da9aa0d 51e05a537928d7fd0aedd800f4d99c1f52630d75efe78bf7b016f1ad2380583b test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr_getConstArg.ql 38db5e08b7a78f52247b9894fe2f3dd80b89efd2a3ddce446b782f92f6e2efad 8a4d38deac59fff090617e928fb698fc3d57f3651f47b06d3f40dd4ba92b2c93 test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr_getElementTypeRepr.ql f74222b11cc52d3ac79e16d2943c1281c574fee954298752a309abc683798dbb 9701ebe468d76f72b21a7772a9e9bb82d8fd0a4e317437341f31f8395780dc33 @@ -731,6 +775,7 @@ test/extractor-tests/generated/Enum/Enum_getVisibility.ql 7fdae1b147d3d2ed41e055 test/extractor-tests/generated/Enum/Enum_getWhereClause.ql 00be944242a2056cd760a59a04d7a4f95910c122fe8ea6eca3efe44be1386b0c 70107b11fb72ed722afa9464acc4a90916822410d6b8bf3b670f6388a193d27d test/extractor-tests/generated/EnumItem/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/EnumVariant/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 +test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/ExprStmt/ExprStmt.ql 811d3c75a93d081002ecf03f4e299c248f708e3c2708fca9e17b36708da620e5 a4477e67931ba90fd948a7ef778b18b50c8492bae32689356899e7104a6d6794 test/extractor-tests/generated/ExprStmt/ExprStmt_getExpr.ql e269bb222317afe1470eee1be822d305fc37c65bca2999da8d24a86fa9337036 088369d6c5b072192290c34c1828b1068aeedaabdae131594ca529bbb1630548 test/extractor-tests/generated/ExternBlock/ExternBlock.ql 45233abdf39caefd2d1d236990a5fbf06eb0b547d892f1ad3e82b8e3c215bc79 df30e0370ed20bef3b2c5bed6e8c27b27663716e7c9e14e85acb6e33a43f4edc @@ -791,6 +836,7 @@ test/extractor-tests/generated/Function/Function_getParamList.ql f888802ab00defb test/extractor-tests/generated/Function/Function_getRetType.ql b3a1ab90c8ebf0543e5db6a415896e44a02f984321f49bc409aec2657298942b cdfa37772e5026febb19c9bcd0d325688b0fbf2f6e7bba424b73eca38b9b3e38 test/extractor-tests/generated/Function/Function_getVisibility.ql 490b0a369c809a757d4835b97becf617b0399f16a63a2b06258c9a227d5cc415 25ceff15d3cd03821e1cb2c04cb8894bcd101eeca62b66b54d1751b628107818 test/extractor-tests/generated/Function/Function_getWhereClause.ql 37a44ce54bfa7e54dda5db2e5662d0fd70ad6e2caa07ffdedd923a6492b4c6a3 2ced4e49d19cf717b9bf26859fa20f94713b6438e817c63c29ccaf34bb5f373c +test/extractor-tests/generated/FunctionType/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/GenericArgList/GenericArgList.ql 2d3e37da2c02a88ec8a1f99baebf352196f84c76c093c6f851d2c2d2ee941e9a 1cd884cfbaf59a2da080f50d966dc511243055fcfdd08a61bdfb10cc5701e1aa test/extractor-tests/generated/GenericArgList/GenericArgList_getGenericArg.ql 7f92dc62d814c39bc50dfd46c359540261fe433fcad1752ea2fe139a05071183 9863976c97c1b7c07d5d18d8ffee798b1c1b0223784a61066ee2c9ffc46c4979 test/extractor-tests/generated/GenericParamList/GenericParamList.ql 5d04af9be32c5f8bdf9ec679b0acbabd58ff01a20f5543a0c7d4fe5c5773ebba 7e86c4d3ed64b9ef2f928abd22b593d72131862321096722df5150b5202a4a28 @@ -925,6 +971,7 @@ test/extractor-tests/generated/Name/Name.ql 0a78cd5c0c703ff30f8e3253b38f9aac98a5 test/extractor-tests/generated/Name/Name_getText.ql 5d223baad356308abc45cdce9ca9201d674de1cc1e9fff7ef55dd96082d59d99 6488ccc102ed4f0a2e1c5cef3f8b1adbe00d52c961573f1a16eca66af31e2d14 test/extractor-tests/generated/NameRef/NameRef.ql f73d49d5c176cd7589f6ca148b0d0cc3d1084e27686910058adfd5764ef5767d ebff67ed3b325b01277e25baa1ad588e633ef8ce63209a72305465a0dc8002d1 test/extractor-tests/generated/NameRef/NameRef_getText.ql 5212dfc1b65c0f724a72f5bffd82268d1f8ae287d3d61797673c29fd70d7ebd6 75c343614925c55a18917c07ef62af08c97c9cc714f627d1a27b9f26158a0bde +test/extractor-tests/generated/NeverType/NeverType.ql 7da48f7c20733a77495718c06a96eb1a8ea5e825b95e585a960cf777edff1b6a 30e24cfcb4f2ae1b7862a177e622636b4563a1b1d348413884bc605302d31fcf test/extractor-tests/generated/NeverTypeRepr/NeverTypeRepr.ql 6db9820e62fe7a7395aafb6966043bd24d89833fe59c825ebbd4a2504d58bcc3 85dc1500ba751a4b3fa432fe5f5cb0c104a2179ac2e73620ed9ff08552cfbba1 test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql ba10ed5147469564e632f9444176fffeb1accdb14ad635a3dee76044e5782eca 3f894c494421d49d3f8f2593bccd261c9defa768bd252705d4a3671ca8e8255f test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getAttr.ql a12e828c85577184a41b255f54b10d4a654b57703074a7ebcfde2d43a358955f bc2590e76b60a3ddda9cc10903c68d07c6af19a593c8426d108a2a6520304145 @@ -968,6 +1015,9 @@ test/extractor-tests/generated/Path/PathTypeRepr.ql c2e069acc5111088a7287d98b4bd test/extractor-tests/generated/Path/PathTypeRepr_getPath.ql 49e96ea2aa482e3b80cb0e2d944055f8298f7fc55b36cea7468586c94bacf686 29b3c2140ac1bc6e0e6160140e292e2b84e13145c1553480e2a582cd7f7bd3fd test/extractor-tests/generated/Path/Path_getPart.ql 8aa45a0b58203ef1177166efbe1c2851faf4b4c9a453c83137f0c9298badcdbf b82d490d9b3a8237487cd5da8b3b6fc4aa477977b332a5c6539b3cd4e6d5b45b test/extractor-tests/generated/Path/Path_getQualifier.ql 9af95e22cdf3a65da6a41d93136aef4523db5ce81d38f6ed4bc613f1c68784d0 3102d9241a417a92c97a53ac56a7a8683463f1adc7a593cda1382c0d25b3f261 +test/extractor-tests/generated/PathType/PathType.ql 551304002560ac57ae79364c1df610dc54f756bf8a1bf434dba22f829d39266b c5e733695871fbf0c8da4d0460daaeb11d969cd706aee2ee46a0b4eb009700ae +test/extractor-tests/generated/PathType/PathType_getPath.ql 56c79a3a64a9dd606fd4200096bed85abe07ac61cb56be96dd8b1109ff63ad3f 3a4a687d67cff94c3c6a89d947a44d39332bbada780804b459e0e511cd88971f +test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql 44fb7174365c6deecdc22c720d84617c6e060c05d49c41c90433451588f8aa6f 871fab471c82fede3c36edc003f9decee5bb7844c016951d28be78d0c91487e5 test/extractor-tests/generated/PrefixExpr/PrefixExpr_getAttr.ql fdad6ad5199435ded1e4a9ea6b246e76b904cd73a36aaa4780e84eef91741c5b 75d63940046e62c1efa1151b0cac45b5ec0bab5e39aec2e11d43f6c385e37984 test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.ql 2d1d97f6277794871fbb032ea87ac30b1aa902a74cd874720156162057ea202e b1b9880fce07d66df7ec87f12189c37adf9f233a1d0b38a1b09808d052a95642 @@ -983,6 +1033,7 @@ test/extractor-tests/generated/RangePat/RangePat.ql 97314b9a5543a7471d722ae188a6 test/extractor-tests/generated/RangePat/RangePat_getEnd.ql 723eb5030ec52d3aa3650a3e2de6cc0195a0030630239b972235963320e0d808 2df3b1a6197c3abd43dc743fd09cbf55165e3191f2b49336777594541e5da96a test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql 564216b2342f56dc8c1aed6306f57b6dafb33de9e3ba337a840a8c077ce95933 2a76ec7a59bada29733a1515bc1ea8bedd37429d1694ca63c7a8fbf94098a4c7 test/extractor-tests/generated/RangePat/RangePat_getStart.ql ad2066efa32fced2dd107031f2a9b9635c3c892e874870a4320522bae9309aa4 b4a8c57a838074e186b823938d1a9372153c193da6c839b5f242ca25c679e83f +test/extractor-tests/generated/RawPtrType/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/RecordExpr/RecordExpr.ql 220f7f766587dc9df1c6f81a1cda3d19d7d5e92a31c63752061297e1adf96bf0 792bbe4503adcb63f7ac0f11259bb60a8ce05538ba1676f141989a73ff4eb5c0 test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql 2eb8f7591f08199d124732d7f2d7dd3e81792a52f8e6c90003aa0609923f8cb0 27e245224d6c9aa20023b418ce8dffff1293b50a0e10938932631fca7c559e78 test/extractor-tests/generated/RecordExpr/RecordExpr_getRecordExprFieldList.ql 6d3d872eb64ff8cd7317190f9b2627d3fa6a74976e362cfb49e21c6623d63f82 d98b07f932ecb25a427e655017de47f951d3eabc4eedbc6f873571ce8921e9ff @@ -1023,6 +1074,7 @@ test/extractor-tests/generated/RefPat/RefPat_getPat.ql 60f5e010b90c2c62d26674323 test/extractor-tests/generated/RefTypeRepr/RefTypeRepr.ql 0e543a2e907bec0736a4e3821e94a49ad5127a69dab88f89a4a4bd6ff9e6a138 fe157d0a00264e2e5b7eee7248b052c960915aac14543e16a31ef659ce84978b test/extractor-tests/generated/RefTypeRepr/RefTypeRepr_getLifetime.ql 0fc1babe97a3c12609f30af8d68a2a25a588061fd92fb5a0d6ddb2afd0f87296 c9fcd48451faf77a3d47c4085904439243744119648e10499bc1b1533c5e14be test/extractor-tests/generated/RefTypeRepr/RefTypeRepr_getTypeRepr.ql 63130e9884b588a2e0f076a00b55e9c3106826ab78f5e7ff859d24d4f1b4d0d1 fabe9cc6967433def8ddba298d5cb4d903f8491bc4ccfa1b36e415995da9b804 +test/extractor-tests/generated/ReferenceType/MISSING_SOURCE.txt b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 b6cf5771fdbbe981aeb3f443ec7a40517b6e99ffc9817fd8872c2e344240dae1 test/extractor-tests/generated/Rename/Rename.ql c8605e5d8ebb39be238ba26e46861df493d86c9caf9aa9a791ed5ff8d65a812a 7263c2c2565e41c652eda03d1e1ddd030fea79a8e3c967909df9945e30ecbe68 test/extractor-tests/generated/Rename/Rename_getName.ql 1648191216ece0e3468823ed376292611bd3e5dbe9b3e215167d7051aa03385f 381683d4637a1a7322c9a0df2d90a30a153630965e7facbfaccd6cdb5c1de2cd test/extractor-tests/generated/RestPat/RestPat.ql 0abc6a13ec82ebc923ce768344d468871a05a515690f0feaaf55b7967cf34a9e c2bc069de6927c6c04c89c54e694b50d6ca052230cc36668302907a7ed883e08 @@ -1040,6 +1092,7 @@ test/extractor-tests/generated/SelfParam/SelfParam_getName.ql 69207a57b415ba590e test/extractor-tests/generated/SelfParam/SelfParam_getTypeRepr.ql 406c04fbb5e0f4c57a2f73dfd69aff7da95fbbe552dc7391b3332d4e451b1ff4 025ef82cd0bf947333253141a5c3c4990db47a699c21a2381089428d0d133670 test/extractor-tests/generated/SlicePat/SlicePat.ql c6ff3c926ebbea3d923ba8ed00bf9cc20eaaee4c6ae49ea797c0975d0535240e 1b27e0caeb793da3b82059268b83bd624e81f215de42acbb548c52bacba3ed9e test/extractor-tests/generated/SlicePat/SlicePat_getPat.ql e2f892a3a4c623fe3f7e64e1438128126bc4d8b8c0f657ae53bb99d3209a3b13 af835d9ec840c63e13edc6a9230a4e34cb894f4379b85b463b8068de5a8bd717 +test/extractor-tests/generated/SliceType/SliceType.ql 8a150e4f7e932a49cc729ce26eefc36adeb9e0a83615f85642188cf6aad94e08 94c6e9c79a5e9f52c58277e77fa6746e62ebae9c9c0e7b85b3487524a54cdc7c test/extractor-tests/generated/SliceTypeRepr/SliceTypeRepr.ql 59c4e943626b6d284fa30778437b0ac5b10243b2dd3081200ada18e5a5f75ebc a479a079c841290a42a86da71d0b951d6ff354a4818be72180e6fe24b3eecde4 test/extractor-tests/generated/SliceTypeRepr/SliceTypeRepr_getTypeRepr.ql a6604fccd54cf86fb2b929ffda248a2da207e0841a46fd5e80fc18e2efccd9ca f10cc6446549214d8929521f8794a93cfacdbd71cd95e05e585bd178af414e52 test/extractor-tests/generated/SourceFile/SourceFile.ql c30a3c2c82be3114f3857295615e2ec1e59c823f0b65ea3918be85e6b7adb921 6a5bbe96f81861c953eb89f77ea64d580f996dca5950f717dd257a0b795453e6 @@ -1109,6 +1162,8 @@ test/extractor-tests/generated/TupleStructPat/TupleStructPat_getField.ql f3f2e23 test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql 13a06696bbf1fa8d5b73107e28cdba40e93da04b27f9c54381b78a52368d2ad1 5558c35ea9bb371ad90a5b374d7530dd1936f83e6ba656ebfbfd5bd63598e088 test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCrateOrigin.ql e409667233331a038e482de4b2669d9fac9d7eb0e3bd5580ea19828f0c4ed7ad 588e4628471f1004575900d7365490efcf9168b555ff26becfc3f27b9e657de3 test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedPath.ql 150898b6e55cc74b9ddb947f136b5a7f538ee5598928c5724d80e3ddf93ae499 66e0bd7b32df8f5bbe229cc02be6a07cb9ec0fe8b444dad3f5b32282a90551ee +test/extractor-tests/generated/TupleType/TupleType.ql e5951a30817b8c51fe9cb9435f75bfdca2a1277b2094267d3205e33ef1ee9a9c 9a4d57322ed2cff57057654272981b056f833136f983141b033afaf64e19c117 +test/extractor-tests/generated/TupleType/TupleType_getField.ql b73a8cdaf6ba46cf9b63d8819239d2d2c06b3496ed4768e8a387a7558178fbd8 6efbcf13c25d0ff3ed0c6d194ba44d2abfa620406badef8184953395fab92bb4 test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr.ql 2f99917a95a85a932f423cba5a619a51cada8e704b93c54b0a8cb5d7a1129fa1 759bd02347c898139ac7dabe207988eea125be24d3e4c2282b791ec810c16ea7 test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr_getField.ql 615acfcbc475b5c2ffa8e46d023fc2e19d29ee879b4949644a7f0b25c33125e6 81b037af5dcb8a0489a7a81a0ad668ca781b71d4406c123c4f1c4f558722f13e test/extractor-tests/generated/TypeAlias/TypeAlias.ql 637d4c982691942fabcc99ef4a1765ec794d1271bdd376addb55c9d7ea31230e ef81773e2f1260f66f23ce537080c3273b1cf74f96fba37403d34dc1ee1e0458 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index 6f8a97ffc29e5..cd95d045a683c 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -7,6 +7,7 @@ /lib/codeql/rust/elements/ArrayExpr.qll linguist-generated /lib/codeql/rust/elements/ArrayListExpr.qll linguist-generated /lib/codeql/rust/elements/ArrayRepeatExpr.qll linguist-generated +/lib/codeql/rust/elements/ArrayType.qll linguist-generated /lib/codeql/rust/elements/ArrayTypeRepr.qll linguist-generated /lib/codeql/rust/elements/AsmExpr.qll linguist-generated /lib/codeql/rust/elements/AssocItem.qll linguist-generated @@ -39,6 +40,7 @@ /lib/codeql/rust/elements/Enum.qll linguist-generated /lib/codeql/rust/elements/EnumItem.qll linguist-generated /lib/codeql/rust/elements/EnumVariant.qll linguist-generated +/lib/codeql/rust/elements/ErrorType.qll linguist-generated /lib/codeql/rust/elements/Expr.qll linguist-generated /lib/codeql/rust/elements/ExprStmt.qll linguist-generated /lib/codeql/rust/elements/ExternBlock.qll linguist-generated @@ -56,6 +58,7 @@ /lib/codeql/rust/elements/FormatArgument.qll linguist-generated /lib/codeql/rust/elements/FormatTemplateVariableAccess.qll linguist-generated /lib/codeql/rust/elements/Function.qll linguist-generated +/lib/codeql/rust/elements/FunctionType.qll linguist-generated /lib/codeql/rust/elements/GenericArg.qll linguist-generated /lib/codeql/rust/elements/GenericArgList.qll linguist-generated /lib/codeql/rust/elements/GenericParam.qll linguist-generated @@ -100,6 +103,7 @@ /lib/codeql/rust/elements/ModuleContainer.qll linguist-generated /lib/codeql/rust/elements/Name.qll linguist-generated /lib/codeql/rust/elements/NameRef.qll linguist-generated +/lib/codeql/rust/elements/NeverType.qll linguist-generated /lib/codeql/rust/elements/NeverTypeRepr.qll linguist-generated /lib/codeql/rust/elements/OffsetOfExpr.qll linguist-generated /lib/codeql/rust/elements/OrPat.qll linguist-generated @@ -116,11 +120,14 @@ /lib/codeql/rust/elements/PathExprBase.qll linguist-generated /lib/codeql/rust/elements/PathPat.qll linguist-generated /lib/codeql/rust/elements/PathSegment.qll linguist-generated +/lib/codeql/rust/elements/PathType.qll linguist-generated /lib/codeql/rust/elements/PathTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/PlaceholderType.qll linguist-generated /lib/codeql/rust/elements/PrefixExpr.qll linguist-generated /lib/codeql/rust/elements/PtrTypeRepr.qll linguist-generated /lib/codeql/rust/elements/RangeExpr.qll linguist-generated /lib/codeql/rust/elements/RangePat.qll linguist-generated +/lib/codeql/rust/elements/RawPtrType.qll linguist-generated /lib/codeql/rust/elements/RecordExpr.qll linguist-generated /lib/codeql/rust/elements/RecordExprField.qll linguist-generated /lib/codeql/rust/elements/RecordExprFieldList.qll linguist-generated @@ -132,6 +139,7 @@ /lib/codeql/rust/elements/RefExpr.qll linguist-generated /lib/codeql/rust/elements/RefPat.qll linguist-generated /lib/codeql/rust/elements/RefTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/ReferenceType.qll linguist-generated /lib/codeql/rust/elements/Rename.qll linguist-generated /lib/codeql/rust/elements/Resolvable.qll linguist-generated /lib/codeql/rust/elements/RestPat.qll linguist-generated @@ -140,6 +148,7 @@ /lib/codeql/rust/elements/ReturnTypeSyntax.qll linguist-generated /lib/codeql/rust/elements/SelfParam.qll linguist-generated /lib/codeql/rust/elements/SlicePat.qll linguist-generated +/lib/codeql/rust/elements/SliceType.qll linguist-generated /lib/codeql/rust/elements/SliceTypeRepr.qll linguist-generated /lib/codeql/rust/elements/SourceFile.qll linguist-generated /lib/codeql/rust/elements/Static.qll linguist-generated @@ -157,7 +166,9 @@ /lib/codeql/rust/elements/TupleFieldList.qll linguist-generated /lib/codeql/rust/elements/TuplePat.qll linguist-generated /lib/codeql/rust/elements/TupleStructPat.qll linguist-generated +/lib/codeql/rust/elements/TupleType.qll linguist-generated /lib/codeql/rust/elements/TupleTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/Type.qll linguist-generated /lib/codeql/rust/elements/TypeAlias.qll linguist-generated /lib/codeql/rust/elements/TypeArg.qll linguist-generated /lib/codeql/rust/elements/TypeBound.qll linguist-generated @@ -191,6 +202,8 @@ /lib/codeql/rust/elements/internal/ArrayExprInternal.qll linguist-generated /lib/codeql/rust/elements/internal/ArrayExprInternalConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ArrayExprInternalImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/ArrayTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ArrayTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ArrayTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/AsmExprConstructor.qll linguist-generated @@ -236,6 +249,8 @@ /lib/codeql/rust/elements/internal/EnumItemImpl.qll linguist-generated /lib/codeql/rust/elements/internal/EnumVariantConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/EnumVariantImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/ErrorTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ExprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ExprStmtConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ExprStmtImpl.qll linguist-generated @@ -259,6 +274,8 @@ /lib/codeql/rust/elements/internal/FormatArgsArgImpl.qll linguist-generated /lib/codeql/rust/elements/internal/FormatArgsExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/FunctionConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/FunctionTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/GenericArgImpl.qll linguist-generated /lib/codeql/rust/elements/internal/GenericArgListConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/GenericParamImpl.qll linguist-generated @@ -317,6 +334,8 @@ /lib/codeql/rust/elements/internal/ModuleContainerImpl.qll linguist-generated /lib/codeql/rust/elements/internal/NameConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/NameRefConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/NeverTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/NeverTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/NeverTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/OffsetOfExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/OffsetOfExprImpl.qll linguist-generated @@ -334,13 +353,19 @@ /lib/codeql/rust/elements/internal/PathExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PathSegmentConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PathTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PathTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PathTypeReprConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PlaceholderTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/PlaceholderTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/PrefixExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PtrTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/PtrTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RangeExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RangePatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RangePatImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RecordExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RecordExprFieldConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RecordExprFieldListConstructor.qll linguist-generated @@ -358,6 +383,8 @@ /lib/codeql/rust/elements/internal/RefPatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RefTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RefTypeReprImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RenameConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/RenameImpl.qll linguist-generated /lib/codeql/rust/elements/internal/RestPatConstructor.qll linguist-generated @@ -370,6 +397,8 @@ /lib/codeql/rust/elements/internal/SelfParamImpl.qll linguist-generated /lib/codeql/rust/elements/internal/SlicePatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/SlicePatImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/SliceTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/SliceTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/SliceTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/SliceTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/SourceFileConstructor.qll linguist-generated @@ -399,6 +428,8 @@ /lib/codeql/rust/elements/internal/TuplePatConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TuplePatImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TupleStructPatConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/TupleTypeConstructor.qll linguist-generated +/lib/codeql/rust/elements/internal/TupleTypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TupleTypeReprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TupleTypeReprImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeAliasConstructor.qll linguist-generated @@ -409,6 +440,7 @@ /lib/codeql/rust/elements/internal/TypeBoundImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeBoundListConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TypeBoundListImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/TypeImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeItemImpl.qll linguist-generated /lib/codeql/rust/elements/internal/TypeParamConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/TypeParamImpl.qll linguist-generated @@ -450,6 +482,7 @@ /lib/codeql/rust/elements/internal/generated/ArrayExprInternal.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ArrayListExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ArrayRepeatExpr.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/ArrayType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ArrayTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/AsmExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/AssocItem.qll linguist-generated @@ -482,6 +515,7 @@ /lib/codeql/rust/elements/internal/generated/Enum.qll linguist-generated /lib/codeql/rust/elements/internal/generated/EnumItem.qll linguist-generated /lib/codeql/rust/elements/internal/generated/EnumVariant.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/ErrorType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Expr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ExprStmt.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ExternBlock.qll linguist-generated @@ -500,6 +534,7 @@ /lib/codeql/rust/elements/internal/generated/FormatArgument.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FormatTemplateVariableAccess.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Function.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/FunctionType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/GenericArg.qll linguist-generated /lib/codeql/rust/elements/internal/generated/GenericArgList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/GenericParam.qll linguist-generated @@ -544,6 +579,7 @@ /lib/codeql/rust/elements/internal/generated/ModuleContainer.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Name.qll linguist-generated /lib/codeql/rust/elements/internal/generated/NameRef.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/NeverType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/NeverTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/OffsetOfExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/OrPat.qll linguist-generated @@ -561,13 +597,16 @@ /lib/codeql/rust/elements/internal/generated/PathExprBase.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathSegment.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/PathType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PathTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/PlaceholderType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PrefixExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PtrTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RangeExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RangePat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Raw.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/RawPtrType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RecordExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RecordExprField.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll linguist-generated @@ -579,6 +618,7 @@ /lib/codeql/rust/elements/internal/generated/RefExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefPat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RefTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/ReferenceType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Rename.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Resolvable.qll linguist-generated /lib/codeql/rust/elements/internal/generated/RestPat.qll linguist-generated @@ -587,6 +627,7 @@ /lib/codeql/rust/elements/internal/generated/ReturnTypeSyntax.qll linguist-generated /lib/codeql/rust/elements/internal/generated/SelfParam.qll linguist-generated /lib/codeql/rust/elements/internal/generated/SlicePat.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/SliceType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/SliceTypeRepr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/SourceFile.qll linguist-generated /lib/codeql/rust/elements/internal/generated/Static.qll linguist-generated @@ -606,7 +647,9 @@ /lib/codeql/rust/elements/internal/generated/TupleFieldList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TuplePat.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TupleStructPat.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/TupleType.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TupleTypeRepr.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/Type.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TypeAlias.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TypeArg.qll linguist-generated /lib/codeql/rust/elements/internal/generated/TypeBound.qll linguist-generated @@ -643,6 +686,7 @@ /test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr.ql linguist-generated /test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr_getAttr.ql linguist-generated /test/extractor-tests/generated/ArrayRepeatExpr/ArrayRepeatExpr_getExpr.ql linguist-generated +/test/extractor-tests/generated/ArrayType/ArrayType.ql linguist-generated /test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr.ql linguist-generated /test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr_getConstArg.ql linguist-generated /test/extractor-tests/generated/ArrayTypeRepr/ArrayTypeRepr_getElementTypeRepr.ql linguist-generated @@ -733,6 +777,7 @@ /test/extractor-tests/generated/Enum/Enum_getWhereClause.ql linguist-generated /test/extractor-tests/generated/EnumItem/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/EnumVariant/MISSING_SOURCE.txt linguist-generated +/test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/ExprStmt/ExprStmt.ql linguist-generated /test/extractor-tests/generated/ExprStmt/ExprStmt_getExpr.ql linguist-generated /test/extractor-tests/generated/ExternBlock/ExternBlock.ql linguist-generated @@ -793,6 +838,7 @@ /test/extractor-tests/generated/Function/Function_getRetType.ql linguist-generated /test/extractor-tests/generated/Function/Function_getVisibility.ql linguist-generated /test/extractor-tests/generated/Function/Function_getWhereClause.ql linguist-generated +/test/extractor-tests/generated/FunctionType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/GenericArgList/GenericArgList.ql linguist-generated /test/extractor-tests/generated/GenericArgList/GenericArgList_getGenericArg.ql linguist-generated /test/extractor-tests/generated/GenericParamList/GenericParamList.ql linguist-generated @@ -927,6 +973,7 @@ /test/extractor-tests/generated/Name/Name_getText.ql linguist-generated /test/extractor-tests/generated/NameRef/NameRef.ql linguist-generated /test/extractor-tests/generated/NameRef/NameRef_getText.ql linguist-generated +/test/extractor-tests/generated/NeverType/NeverType.ql linguist-generated /test/extractor-tests/generated/NeverTypeRepr/NeverTypeRepr.ql linguist-generated /test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr.ql linguist-generated /test/extractor-tests/generated/OffsetOfExpr/OffsetOfExpr_getAttr.ql linguist-generated @@ -970,6 +1017,9 @@ /test/extractor-tests/generated/Path/PathTypeRepr_getPath.ql linguist-generated /test/extractor-tests/generated/Path/Path_getPart.ql linguist-generated /test/extractor-tests/generated/Path/Path_getQualifier.ql linguist-generated +/test/extractor-tests/generated/PathType/PathType.ql linguist-generated +/test/extractor-tests/generated/PathType/PathType_getPath.ql linguist-generated +/test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/PrefixExpr/PrefixExpr.ql linguist-generated /test/extractor-tests/generated/PrefixExpr/PrefixExpr_getAttr.ql linguist-generated /test/extractor-tests/generated/PrefixExpr/PrefixExpr_getExpr.ql linguist-generated @@ -985,6 +1035,7 @@ /test/extractor-tests/generated/RangePat/RangePat_getEnd.ql linguist-generated /test/extractor-tests/generated/RangePat/RangePat_getOperatorName.ql linguist-generated /test/extractor-tests/generated/RangePat/RangePat_getStart.ql linguist-generated +/test/extractor-tests/generated/RawPtrType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/RecordExpr/RecordExpr.ql linguist-generated /test/extractor-tests/generated/RecordExpr/RecordExpr_getPath.ql linguist-generated /test/extractor-tests/generated/RecordExpr/RecordExpr_getRecordExprFieldList.ql linguist-generated @@ -1025,6 +1076,7 @@ /test/extractor-tests/generated/RefTypeRepr/RefTypeRepr.ql linguist-generated /test/extractor-tests/generated/RefTypeRepr/RefTypeRepr_getLifetime.ql linguist-generated /test/extractor-tests/generated/RefTypeRepr/RefTypeRepr_getTypeRepr.ql linguist-generated +/test/extractor-tests/generated/ReferenceType/MISSING_SOURCE.txt linguist-generated /test/extractor-tests/generated/Rename/Rename.ql linguist-generated /test/extractor-tests/generated/Rename/Rename_getName.ql linguist-generated /test/extractor-tests/generated/RestPat/RestPat.ql linguist-generated @@ -1042,6 +1094,7 @@ /test/extractor-tests/generated/SelfParam/SelfParam_getTypeRepr.ql linguist-generated /test/extractor-tests/generated/SlicePat/SlicePat.ql linguist-generated /test/extractor-tests/generated/SlicePat/SlicePat_getPat.ql linguist-generated +/test/extractor-tests/generated/SliceType/SliceType.ql linguist-generated /test/extractor-tests/generated/SliceTypeRepr/SliceTypeRepr.ql linguist-generated /test/extractor-tests/generated/SliceTypeRepr/SliceTypeRepr_getTypeRepr.ql linguist-generated /test/extractor-tests/generated/SourceFile/SourceFile.ql linguist-generated @@ -1111,6 +1164,8 @@ /test/extractor-tests/generated/TupleStructPat/TupleStructPat_getPath.ql linguist-generated /test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedCrateOrigin.ql linguist-generated /test/extractor-tests/generated/TupleStructPat/TupleStructPat_getResolvedPath.ql linguist-generated +/test/extractor-tests/generated/TupleType/TupleType.ql linguist-generated +/test/extractor-tests/generated/TupleType/TupleType_getField.ql linguist-generated /test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr.ql linguist-generated /test/extractor-tests/generated/TupleTypeRepr/TupleTypeRepr_getField.ql linguist-generated /test/extractor-tests/generated/TypeAlias/TypeAlias.ql linguist-generated diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index e132edd4e4bf6..e32f099d2d683 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -10,6 +10,7 @@ import codeql.rust.elements.ArgList import codeql.rust.elements.ArrayExpr import codeql.rust.elements.ArrayListExpr import codeql.rust.elements.ArrayRepeatExpr +import codeql.rust.elements.ArrayType import codeql.rust.elements.ArrayTypeRepr import codeql.rust.elements.AsmExpr import codeql.rust.elements.AssocItem @@ -42,6 +43,7 @@ import codeql.rust.elements.Element import codeql.rust.elements.Enum import codeql.rust.elements.EnumItem import codeql.rust.elements.EnumVariant +import codeql.rust.elements.ErrorType import codeql.rust.elements.Expr import codeql.rust.elements.ExprStmt import codeql.rust.elements.ExternBlock @@ -59,6 +61,7 @@ import codeql.rust.elements.FormatArgsExpr import codeql.rust.elements.FormatArgument import codeql.rust.elements.FormatTemplateVariableAccess import codeql.rust.elements.Function +import codeql.rust.elements.FunctionType import codeql.rust.elements.GenericArg import codeql.rust.elements.GenericArgList import codeql.rust.elements.GenericParam @@ -103,6 +106,7 @@ import codeql.rust.elements.Module import codeql.rust.elements.ModuleContainer import codeql.rust.elements.Name import codeql.rust.elements.NameRef +import codeql.rust.elements.NeverType import codeql.rust.elements.NeverTypeRepr import codeql.rust.elements.OffsetOfExpr import codeql.rust.elements.OrPat @@ -119,11 +123,14 @@ import codeql.rust.elements.PathExpr import codeql.rust.elements.PathExprBase import codeql.rust.elements.PathPat import codeql.rust.elements.PathSegment +import codeql.rust.elements.PathType import codeql.rust.elements.PathTypeRepr +import codeql.rust.elements.PlaceholderType import codeql.rust.elements.PrefixExpr import codeql.rust.elements.PtrTypeRepr import codeql.rust.elements.RangeExpr import codeql.rust.elements.RangePat +import codeql.rust.elements.RawPtrType import codeql.rust.elements.RecordExpr import codeql.rust.elements.RecordExprField import codeql.rust.elements.RecordExprFieldList @@ -135,6 +142,7 @@ import codeql.rust.elements.RecordPatFieldList import codeql.rust.elements.RefExpr import codeql.rust.elements.RefPat import codeql.rust.elements.RefTypeRepr +import codeql.rust.elements.ReferenceType import codeql.rust.elements.Rename import codeql.rust.elements.Resolvable import codeql.rust.elements.RestPat @@ -143,6 +151,7 @@ import codeql.rust.elements.ReturnExpr import codeql.rust.elements.ReturnTypeSyntax import codeql.rust.elements.SelfParam import codeql.rust.elements.SlicePat +import codeql.rust.elements.SliceType import codeql.rust.elements.SliceTypeRepr import codeql.rust.elements.SourceFile import codeql.rust.elements.Static @@ -160,7 +169,9 @@ import codeql.rust.elements.TupleField import codeql.rust.elements.TupleFieldList import codeql.rust.elements.TuplePat import codeql.rust.elements.TupleStructPat +import codeql.rust.elements.TupleType import codeql.rust.elements.TupleTypeRepr +import codeql.rust.elements.Type import codeql.rust.elements.TypeAlias import codeql.rust.elements.TypeArg import codeql.rust.elements.TypeBound diff --git a/rust/ql/lib/codeql/rust/elements/ArrayType.qll b/rust/ql/lib/codeql/rust/elements/ArrayType.qll new file mode 100644 index 0000000000000..1fa3dcb63a06d --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/ArrayType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `ArrayType`. + */ + +private import internal.ArrayTypeImpl +import codeql.rust.elements.Type + +final class ArrayType = Impl::ArrayType; diff --git a/rust/ql/lib/codeql/rust/elements/ErrorType.qll b/rust/ql/lib/codeql/rust/elements/ErrorType.qll new file mode 100644 index 0000000000000..0663acef667bd --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/ErrorType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `ErrorType`. + */ + +private import internal.ErrorTypeImpl +import codeql.rust.elements.Type + +final class ErrorType = Impl::ErrorType; diff --git a/rust/ql/lib/codeql/rust/elements/FunctionType.qll b/rust/ql/lib/codeql/rust/elements/FunctionType.qll new file mode 100644 index 0000000000000..d6582241bd578 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/FunctionType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `FunctionType`. + */ + +private import internal.FunctionTypeImpl +import codeql.rust.elements.Type + +final class FunctionType = Impl::FunctionType; diff --git a/rust/ql/lib/codeql/rust/elements/NeverType.qll b/rust/ql/lib/codeql/rust/elements/NeverType.qll new file mode 100644 index 0000000000000..8bbbaa90b466a --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/NeverType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `NeverType`. + */ + +private import internal.NeverTypeImpl +import codeql.rust.elements.Type + +final class NeverType = Impl::NeverType; diff --git a/rust/ql/lib/codeql/rust/elements/PathType.qll b/rust/ql/lib/codeql/rust/elements/PathType.qll new file mode 100644 index 0000000000000..1071bc956c31e --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/PathType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `PathType`. + */ + +private import internal.PathTypeImpl +import codeql.rust.elements.Type + +final class PathType = Impl::PathType; diff --git a/rust/ql/lib/codeql/rust/elements/PlaceHolderType.qll b/rust/ql/lib/codeql/rust/elements/PlaceHolderType.qll new file mode 100644 index 0000000000000..632d66a5bae7a --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/PlaceHolderType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `PlaceholderType`. + */ + +private import internal.PlaceholderTypeImpl +import codeql.rust.elements.Type + +final class PlaceholderType = Impl::PlaceholderType; diff --git a/rust/ql/lib/codeql/rust/elements/RawPtrType.qll b/rust/ql/lib/codeql/rust/elements/RawPtrType.qll new file mode 100644 index 0000000000000..99605c80f182c --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/RawPtrType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `RawPtrType`. + */ + +private import internal.RawPtrTypeImpl +import codeql.rust.elements.Type + +final class RawPtrType = Impl::RawPtrType; diff --git a/rust/ql/lib/codeql/rust/elements/ReferenceType.qll b/rust/ql/lib/codeql/rust/elements/ReferenceType.qll new file mode 100644 index 0000000000000..acdcf72a328b3 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/ReferenceType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `ReferenceType`. + */ + +private import internal.ReferenceTypeImpl +import codeql.rust.elements.Type + +final class ReferenceType = Impl::ReferenceType; diff --git a/rust/ql/lib/codeql/rust/elements/SliceType.qll b/rust/ql/lib/codeql/rust/elements/SliceType.qll new file mode 100644 index 0000000000000..61f1cf12009da --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/SliceType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `SliceType`. + */ + +private import internal.SliceTypeImpl +import codeql.rust.elements.Type + +final class SliceType = Impl::SliceType; diff --git a/rust/ql/lib/codeql/rust/elements/TupleType.qll b/rust/ql/lib/codeql/rust/elements/TupleType.qll new file mode 100644 index 0000000000000..c1dc21dc36be3 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/TupleType.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `TupleType`. + */ + +private import internal.TupleTypeImpl +import codeql.rust.elements.Type + +final class TupleType = Impl::TupleType; diff --git a/rust/ql/lib/codeql/rust/elements/Type.qll b/rust/ql/lib/codeql/rust/elements/Type.qll new file mode 100644 index 0000000000000..5df9182a0beee --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/Type.qll @@ -0,0 +1,9 @@ +// generated by codegen, do not edit +/** + * This module provides the public class `Type`. + */ + +private import internal.TypeImpl +import codeql.rust.elements.Element + +final class Type = Impl::Type; diff --git a/rust/ql/lib/codeql/rust/elements/ValueItem.qll b/rust/ql/lib/codeql/rust/elements/ValueItem.qll index 6f3af0027b4cb..eb182dd64ba33 100644 --- a/rust/ql/lib/codeql/rust/elements/ValueItem.qll +++ b/rust/ql/lib/codeql/rust/elements/ValueItem.qll @@ -5,6 +5,6 @@ private import internal.ValueItemImpl import codeql.rust.elements.Element -import codeql.rust.elements.TypeRepr +import codeql.rust.elements.Type final class ValueItem = Impl::ValueItem; diff --git a/rust/ql/lib/codeql/rust/elements/VariantData.qll b/rust/ql/lib/codeql/rust/elements/VariantData.qll index a4cb80525465f..c664638902a37 100644 --- a/rust/ql/lib/codeql/rust/elements/VariantData.qll +++ b/rust/ql/lib/codeql/rust/elements/VariantData.qll @@ -5,6 +5,6 @@ private import internal.VariantDataImpl import codeql.rust.elements.Element -import codeql.rust.elements.TypeRepr +import codeql.rust.elements.Type final class VariantData = Impl::VariantData; diff --git a/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll new file mode 100644 index 0000000000000..8a4ea671b28f3 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ArrayType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ArrayType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructArrayType(Raw::ArrayType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeImpl.qll new file mode 100644 index 0000000000000..9f9dbd3ee5381 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ArrayTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ArrayType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.ArrayType + +/** + * INTERNAL: This module contains the customizable definition of `ArrayType` and should not + * be referenced directly. + */ +module Impl { + class ArrayType extends Generated::ArrayType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll new file mode 100644 index 0000000000000..29d0ac8f586db --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ErrorType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ErrorType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructErrorType(Raw::ErrorType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeImpl.qll new file mode 100644 index 0000000000000..5511a6baddb5f --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ErrorTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ErrorType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.ErrorType + +/** + * INTERNAL: This module contains the customizable definition of `ErrorType` and should not + * be referenced directly. + */ +module Impl { + class ErrorType extends Generated::ErrorType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll new file mode 100644 index 0000000000000..975558bd7f0e1 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `FunctionType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `FunctionType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructFunctionType(Raw::FunctionType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeImpl.qll new file mode 100644 index 0000000000000..eef9bd1f96e79 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/FunctionTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `FunctionType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.FunctionType + +/** + * INTERNAL: This module contains the customizable definition of `FunctionType` and should not + * be referenced directly. + */ +module Impl { + class FunctionType extends Generated::FunctionType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/NeverTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/NeverTypeConstructor.qll new file mode 100644 index 0000000000000..10b7b835e8192 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/NeverTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `NeverType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `NeverType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructNeverType(Raw::NeverType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/NeverTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/NeverTypeImpl.qll new file mode 100644 index 0000000000000..fa201b2b5b7e1 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/NeverTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `NeverType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.NeverType + +/** + * INTERNAL: This module contains the customizable definition of `NeverType` and should not + * be referenced directly. + */ +module Impl { + class NeverType extends Generated::NeverType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/PathTypeConstructor.qll new file mode 100644 index 0000000000000..f16371570f679 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PathTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PathType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PathType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPathType(Raw::PathType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/PathTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PathTypeImpl.qll new file mode 100644 index 0000000000000..8eddc4c5dda76 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PathTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PathType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.PathType + +/** + * INTERNAL: This module contains the customizable definition of `PathType` and should not + * be referenced directly. + */ +module Impl { + class PathType extends Generated::PathType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeConstructor.qll new file mode 100644 index 0000000000000..8164250359f1f --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `PlaceholderType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `PlaceholderType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructPlaceholderType(Raw::PlaceholderType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeImpl.qll new file mode 100644 index 0000000000000..bb3cd8f936ae2 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/PlaceHolderTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `PlaceholderType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.PlaceholderType + +/** + * INTERNAL: This module contains the customizable definition of `PlaceholderType` and should not + * be referenced directly. + */ +module Impl { + class PlaceholderType extends Generated::PlaceholderType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll new file mode 100644 index 0000000000000..f4b38b0f26e58 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `RawPtrType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `RawPtrType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructRawPtrType(Raw::RawPtrType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll new file mode 100644 index 0000000000000..59ef37c79da48 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/RawPtrTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `RawPtrType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.RawPtrType + +/** + * INTERNAL: This module contains the customizable definition of `RawPtrType` and should not + * be referenced directly. + */ +module Impl { + class RawPtrType extends Generated::RawPtrType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll new file mode 100644 index 0000000000000..977bb3553a972 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ReferenceType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ReferenceType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructReferenceType(Raw::ReferenceType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll new file mode 100644 index 0000000000000..97ae1573978b2 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ReferenceTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `ReferenceType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.ReferenceType + +/** + * INTERNAL: This module contains the customizable definition of `ReferenceType` and should not + * be referenced directly. + */ +module Impl { + class ReferenceType extends Generated::ReferenceType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/SliceTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/SliceTypeConstructor.qll new file mode 100644 index 0000000000000..d337c0f076841 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/SliceTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `SliceType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `SliceType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructSliceType(Raw::SliceType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/SliceTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/SliceTypeImpl.qll new file mode 100644 index 0000000000000..eea9c5c26553e --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/SliceTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `SliceType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.SliceType + +/** + * INTERNAL: This module contains the customizable definition of `SliceType` and should not + * be referenced directly. + */ +module Impl { + class SliceType extends Generated::SliceType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TupleTypeConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/TupleTypeConstructor.qll new file mode 100644 index 0000000000000..f96bc1826a9d2 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TupleTypeConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `TupleType` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `TupleType` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructTupleType(Raw::TupleType id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/TupleTypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TupleTypeImpl.qll new file mode 100644 index 0000000000000..44bf5175a1208 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TupleTypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `TupleType`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.TupleType + +/** + * INTERNAL: This module contains the customizable definition of `TupleType` and should not + * be referenced directly. + */ +module Impl { + class TupleType extends Generated::TupleType { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/TypeImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/TypeImpl.qll new file mode 100644 index 0000000000000..1af3b7d898ee7 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/TypeImpl.qll @@ -0,0 +1,16 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module provides a hand-modifiable wrapper around the generated class `Type`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Type + +/** + * INTERNAL: This module contains the customizable definition of `Type` and should not + * be referenced directly. + */ +module Impl { + class Type extends Generated::Type { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ArrayType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ArrayType.qll new file mode 100644 index 0000000000000..ffad2cec23812 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ArrayType.qll @@ -0,0 +1,32 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `ArrayType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ArrayType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ArrayType` class directly. + * Use the subclass `ArrayType`, where the following predicates are available. + */ + class ArrayType extends Synth::TArrayType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "ArrayType" } + + /** + * Gets the type of this array type. + */ + Type getType() { + result = + Synth::convertTypeFromRaw(Synth::convertArrayTypeToRaw(this).(Raw::ArrayType).getType()) + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ErrorType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ErrorType.qll new file mode 100644 index 0000000000000..2a0a1027b27a5 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ErrorType.qll @@ -0,0 +1,23 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `ErrorType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ErrorType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ErrorType` class directly. + * Use the subclass `ErrorType`, where the following predicates are available. + */ + class ErrorType extends Synth::TErrorType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "ErrorType" } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/FunctionType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/FunctionType.qll new file mode 100644 index 0000000000000..ef76f24f66105 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/FunctionType.qll @@ -0,0 +1,91 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `FunctionType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `FunctionType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::FunctionType` class directly. + * Use the subclass `FunctionType`, where the following predicates are available. + */ + class FunctionType extends Synth::TFunctionType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "FunctionType" } + + /** + * Gets the self type of this function type, if it exists. + */ + Type getSelfType() { + result = + Synth::convertTypeFromRaw(Synth::convertFunctionTypeToRaw(this) + .(Raw::FunctionType) + .getSelfType()) + } + + /** + * Holds if `getSelfType()` exists. + */ + final predicate hasSelfType() { exists(this.getSelfType()) } + + /** + * Gets the `index`th parameter of this function type (0-based). + */ + Type getParam(int index) { + result = + Synth::convertTypeFromRaw(Synth::convertFunctionTypeToRaw(this) + .(Raw::FunctionType) + .getParam(index)) + } + + /** + * Gets any of the parameters of this function type. + */ + final Type getAParam() { result = this.getParam(_) } + + /** + * Gets the number of parameters of this function type. + */ + final int getNumberOfParams() { result = count(int i | exists(this.getParam(i))) } + + /** + * Gets the ret type of this function type. + */ + Type getRetType() { + result = + Synth::convertTypeFromRaw(Synth::convertFunctionTypeToRaw(this) + .(Raw::FunctionType) + .getRetType()) + } + + /** + * Holds if this function type is const. + */ + predicate isConst() { Synth::convertFunctionTypeToRaw(this).(Raw::FunctionType).isConst() } + + /** + * Holds if this function type is async. + */ + predicate isAsync() { Synth::convertFunctionTypeToRaw(this).(Raw::FunctionType).isAsync() } + + /** + * Holds if this function type is unsafe. + */ + predicate isUnsafe() { Synth::convertFunctionTypeToRaw(this).(Raw::FunctionType).isUnsafe() } + + /** + * Holds if this function type has varargs. + */ + predicate hasVarargs() { + Synth::convertFunctionTypeToRaw(this).(Raw::FunctionType).hasVarargs() + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/NeverType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/NeverType.qll new file mode 100644 index 0000000000000..2317f2bde65d3 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/NeverType.qll @@ -0,0 +1,23 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `NeverType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `NeverType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::NeverType` class directly. + * Use the subclass `NeverType`, where the following predicates are available. + */ + class NeverType extends Synth::TNeverType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "NeverType" } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index b66cc3aeb49ae..12150b130097f 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -70,6 +70,19 @@ private module Impl { ) } + private Element getImmediateChildOfType(Type e, int index, string partialPredicateCall) { + exists(int b, int bElement, int n | + b = 0 and + bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and + n = bElement and + ( + none() + or + result = getImmediateChildOfElement(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfTypeItem(TypeItem e, int index, string partialPredicateCall) { exists(int b, int bElement, int n | b = 0 and @@ -126,6 +139,19 @@ private module Impl { ) } + private Element getImmediateChildOfArrayType(ArrayType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfAstNode(AstNode e, int index, string partialPredicateCall) { exists(int b, int bLocatable, int n | b = 0 and @@ -182,6 +208,19 @@ private module Impl { ) } + private Element getImmediateChildOfErrorType(ErrorType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfFormat(Format e, int index, string partialPredicateCall) { exists(int b, int bLocatable, int n, int nArgument | b = 0 and @@ -216,6 +255,21 @@ private module Impl { ) } + private Element getImmediateChildOfFunctionType( + FunctionType e, int index, string partialPredicateCall + ) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfMissing(Missing e, int index, string partialPredicateCall) { exists(int b, int bUnextracted, int n | b = 0 and @@ -230,6 +284,88 @@ private module Impl { ) } + private Element getImmediateChildOfNeverType(NeverType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + + private Element getImmediateChildOfPathType(PathType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + + private Element getImmediateChildOfPlaceholderType( + PlaceholderType e, int index, string partialPredicateCall + ) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + + private Element getImmediateChildOfRawPtrType(RawPtrType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + + private Element getImmediateChildOfReferenceType( + ReferenceType e, int index, string partialPredicateCall + ) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + + private Element getImmediateChildOfSliceType(SliceType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfStructItem(StructItem e, int index, string partialPredicateCall) { exists(int b, int bTypeItem, int n | b = 0 and @@ -243,6 +379,19 @@ private module Impl { ) } + private Element getImmediateChildOfTupleType(TupleType e, int index, string partialPredicateCall) { + exists(int b, int bType, int n | + b = 0 and + bType = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfType(e, i, _)) | i) and + n = bType and + ( + none() + or + result = getImmediateChildOfType(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfUnimplemented( Unimplemented e, int index, string partialPredicateCall ) { @@ -3880,20 +4029,40 @@ private module Impl { or result = getImmediateChildOfVariantData(e, index, partialAccessor) or + result = getImmediateChildOfArrayType(e, index, partialAccessor) + or result = getImmediateChildOfCrate(e, index, partialAccessor) or result = getImmediateChildOfCrateModule(e, index, partialAccessor) or result = getImmediateChildOfEnumItem(e, index, partialAccessor) or + result = getImmediateChildOfErrorType(e, index, partialAccessor) + or result = getImmediateChildOfFormat(e, index, partialAccessor) or result = getImmediateChildOfFormatArgument(e, index, partialAccessor) or + result = getImmediateChildOfFunctionType(e, index, partialAccessor) + or result = getImmediateChildOfMissing(e, index, partialAccessor) or + result = getImmediateChildOfNeverType(e, index, partialAccessor) + or + result = getImmediateChildOfPathType(e, index, partialAccessor) + or + result = getImmediateChildOfPlaceholderType(e, index, partialAccessor) + or + result = getImmediateChildOfRawPtrType(e, index, partialAccessor) + or + result = getImmediateChildOfReferenceType(e, index, partialAccessor) + or + result = getImmediateChildOfSliceType(e, index, partialAccessor) + or result = getImmediateChildOfStructItem(e, index, partialAccessor) or + result = getImmediateChildOfTupleType(e, index, partialAccessor) + or result = getImmediateChildOfUnimplemented(e, index, partialAccessor) or result = getImmediateChildOfAbi(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/PathType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/PathType.qll new file mode 100644 index 0000000000000..aa90589aa2429 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/PathType.qll @@ -0,0 +1,40 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `PathType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PathType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PathType` class directly. + * Use the subclass `PathType`, where the following predicates are available. + */ + class PathType extends Synth::TPathType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "PathType" } + + /** + * Gets the `index`th path of this path type (0-based). + */ + string getPath(int index) { + result = Synth::convertPathTypeToRaw(this).(Raw::PathType).getPath(index) + } + + /** + * Gets any of the paths of this path type. + */ + final string getAPath() { result = this.getPath(_) } + + /** + * Gets the number of paths of this path type. + */ + final int getNumberOfPaths() { result = count(int i | exists(this.getPath(i))) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/PlaceHolderType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/PlaceHolderType.qll new file mode 100644 index 0000000000000..fdb439c9464e1 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/PlaceHolderType.qll @@ -0,0 +1,23 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `PlaceholderType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `PlaceholderType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::PlaceholderType` class directly. + * Use the subclass `PlaceholderType`, where the following predicates are available. + */ + class PlaceholderType extends Synth::TPlaceholderType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "PlaceholderType" } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 091a197c4e4e6..6203fe63cee2a 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -61,6 +61,11 @@ module Raw { */ class ModuleContainer extends @module_container, Element { } + /** + * INTERNAL: Do not use. + */ + class Type extends @type, Element { } + /** * INTERNAL: Do not use. */ @@ -89,7 +94,7 @@ module Raw { /** * Gets the type of this value item. */ - TypeRepr getType() { value_items(this, _, result) } + Type getType() { value_items(this, _, result) } } /** @@ -101,7 +106,7 @@ module Raw { /** * Gets the `index`th type of this variant data (0-based). */ - TypeRepr getType(int index) { variant_data_types(this, index, result) } + Type getType(int index) { variant_data_types(this, index, result) } /** * Gets the `index`th field of this variant data (0-based). @@ -114,6 +119,18 @@ module Raw { predicate isRecord() { variant_data_is_record(this) } } + /** + * INTERNAL: Do not use. + */ + class ArrayType extends @array_type, Type { + override string toString() { result = "ArrayType" } + + /** + * Gets the type of this array type. + */ + Type getType() { array_types(this, result) } + } + /** * INTERNAL: Do not use. */ @@ -190,6 +207,55 @@ module Raw { EnumVariant getVariant(int index) { enum_item_variants(this, index, result) } } + /** + * INTERNAL: Do not use. + */ + class ErrorType extends @error_type, Type { + override string toString() { result = "ErrorType" } + } + + /** + * INTERNAL: Do not use. + */ + class FunctionType extends @function_type, Type { + override string toString() { result = "FunctionType" } + + /** + * Gets the self type of this function type, if it exists. + */ + Type getSelfType() { function_type_self_types(this, result) } + + /** + * Gets the `index`th parameter of this function type (0-based). + */ + Type getParam(int index) { function_type_params(this, index, result) } + + /** + * Gets the ret type of this function type. + */ + Type getRetType() { function_types(this, result) } + + /** + * Holds if this function type is const. + */ + predicate isConst() { function_type_is_const(this) } + + /** + * Holds if this function type is async. + */ + predicate isAsync() { function_type_is_async(this) } + + /** + * Holds if this function type is unsafe. + */ + predicate isUnsafe() { function_type_is_unsafe(this) } + + /** + * Holds if this function type has varargs. + */ + predicate hasVarargs() { function_type_has_varargs(this) } + } + /** * INTERNAL: Do not use. * The base class marking errors during parsing or resolution. @@ -198,6 +264,83 @@ module Raw { override string toString() { result = "Missing" } } + /** + * INTERNAL: Do not use. + */ + class NeverType extends @never_type, Type { + override string toString() { result = "NeverType" } + } + + /** + * INTERNAL: Do not use. + */ + class PathType extends @path_type, Type { + override string toString() { result = "PathType" } + + /** + * Gets the `index`th path of this path type (0-based). + */ + string getPath(int index) { path_type_paths(this, index, result) } + } + + /** + * INTERNAL: Do not use. + */ + class PlaceholderType extends @placeholder_type, Type { + override string toString() { result = "PlaceholderType" } + } + + /** + * INTERNAL: Do not use. + */ + class RawPtrType extends @raw_ptr_type, Type { + override string toString() { result = "RawPtrType" } + + /** + * Gets the type of this raw ptr type. + */ + Type getType() { raw_ptr_types(this, result) } + + /** + * Holds if this raw ptr type is mut. + */ + predicate isMut() { raw_ptr_type_is_mut(this) } + } + + /** + * INTERNAL: Do not use. + */ + class ReferenceType extends @reference_type, Type { + override string toString() { result = "ReferenceType" } + + /** + * Gets the type of this reference type. + */ + Type getType() { reference_types(this, result) } + + /** + * Gets the lifetime of this reference type, if it exists. + */ + string getLifetime() { reference_type_lifetimes(this, result) } + + /** + * Holds if this reference type is mut. + */ + predicate isMut() { reference_type_is_mut(this) } + } + + /** + * INTERNAL: Do not use. + */ + class SliceType extends @slice_type, Type { + override string toString() { result = "SliceType" } + + /** + * Gets the type of this slice type. + */ + Type getType() { slice_types(this, result) } + } + /** * INTERNAL: Do not use. */ @@ -220,6 +363,18 @@ module Raw { predicate isUnion() { struct_item_is_union(this) } } + /** + * INTERNAL: Do not use. + */ + class TupleType extends @tuple_type, Type { + override string toString() { result = "TupleType" } + + /** + * Gets the `index`th field of this tuple type (0-based). + */ + Type getField(int index) { tuple_type_fields(this, index, result) } + } + /** * INTERNAL: Do not use. * The base class for unimplemented nodes. This is used to mark nodes that are not yet extracted. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/RawPtrType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/RawPtrType.qll new file mode 100644 index 0000000000000..5eb0698a0070f --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/RawPtrType.qll @@ -0,0 +1,37 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `RawPtrType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `RawPtrType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::RawPtrType` class directly. + * Use the subclass `RawPtrType`, where the following predicates are available. + */ + class RawPtrType extends Synth::TRawPtrType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "RawPtrType" } + + /** + * Gets the type of this raw ptr type. + */ + Type getType() { + result = + Synth::convertTypeFromRaw(Synth::convertRawPtrTypeToRaw(this).(Raw::RawPtrType).getType()) + } + + /** + * Holds if this raw ptr type is mut. + */ + predicate isMut() { Synth::convertRawPtrTypeToRaw(this).(Raw::RawPtrType).isMut() } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ReferenceType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ReferenceType.qll new file mode 100644 index 0000000000000..da9b79d52fa4b --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ReferenceType.qll @@ -0,0 +1,51 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `ReferenceType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `ReferenceType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ReferenceType` class directly. + * Use the subclass `ReferenceType`, where the following predicates are available. + */ + class ReferenceType extends Synth::TReferenceType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "ReferenceType" } + + /** + * Gets the type of this reference type. + */ + Type getType() { + result = + Synth::convertTypeFromRaw(Synth::convertReferenceTypeToRaw(this) + .(Raw::ReferenceType) + .getType()) + } + + /** + * Gets the lifetime of this reference type, if it exists. + */ + string getLifetime() { + result = Synth::convertReferenceTypeToRaw(this).(Raw::ReferenceType).getLifetime() + } + + /** + * Holds if `getLifetime()` exists. + */ + final predicate hasLifetime() { exists(this.getLifetime()) } + + /** + * Holds if this reference type is mut. + */ + predicate isMut() { Synth::convertReferenceTypeToRaw(this).(Raw::ReferenceType).isMut() } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SliceType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SliceType.qll new file mode 100644 index 0000000000000..e80cf344f553a --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SliceType.qll @@ -0,0 +1,32 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `SliceType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `SliceType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::SliceType` class directly. + * Use the subclass `SliceType`, where the following predicates are available. + */ + class SliceType extends Synth::TSliceType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "SliceType" } + + /** + * Gets the type of this slice type. + */ + Type getType() { + result = + Synth::convertTypeFromRaw(Synth::convertSliceTypeToRaw(this).(Raw::SliceType).getType()) + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index 31eae0c7bc249..5a04c10187e2c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -34,6 +34,10 @@ module Synth { * INTERNAL: Do not use. */ TArrayRepeatExpr(Raw::ArrayExprInternal id) { constructArrayRepeatExpr(id) } or + /** + * INTERNAL: Do not use. + */ + TArrayType(Raw::ArrayType id) { constructArrayType(id) } or /** * INTERNAL: Do not use. */ @@ -142,6 +146,10 @@ module Synth { * INTERNAL: Do not use. */ TEnumVariant(Raw::EnumVariant id) { constructEnumVariant(id) } or + /** + * INTERNAL: Do not use. + */ + TErrorType(Raw::ErrorType id) { constructErrorType(id) } or /** * INTERNAL: Do not use. */ @@ -210,6 +218,10 @@ module Synth { * INTERNAL: Do not use. */ TFunction(Raw::Function id) { constructFunction(id) } or + /** + * INTERNAL: Do not use. + */ + TFunctionType(Raw::FunctionType id) { constructFunctionType(id) } or /** * INTERNAL: Do not use. */ @@ -358,6 +370,10 @@ module Synth { * INTERNAL: Do not use. */ TNameRef(Raw::NameRef id) { constructNameRef(id) } or + /** + * INTERNAL: Do not use. + */ + TNeverType(Raw::NeverType id) { constructNeverType(id) } or /** * INTERNAL: Do not use. */ @@ -406,10 +422,18 @@ module Synth { * INTERNAL: Do not use. */ TPathSegment(Raw::PathSegment id) { constructPathSegment(id) } or + /** + * INTERNAL: Do not use. + */ + TPathType(Raw::PathType id) { constructPathType(id) } or /** * INTERNAL: Do not use. */ TPathTypeRepr(Raw::PathTypeRepr id) { constructPathTypeRepr(id) } or + /** + * INTERNAL: Do not use. + */ + TPlaceholderType(Raw::PlaceholderType id) { constructPlaceholderType(id) } or /** * INTERNAL: Do not use. */ @@ -426,6 +450,10 @@ module Synth { * INTERNAL: Do not use. */ TRangePat(Raw::RangePat id) { constructRangePat(id) } or + /** + * INTERNAL: Do not use. + */ + TRawPtrType(Raw::RawPtrType id) { constructRawPtrType(id) } or /** * INTERNAL: Do not use. */ @@ -470,6 +498,10 @@ module Synth { * INTERNAL: Do not use. */ TRefTypeRepr(Raw::RefTypeRepr id) { constructRefTypeRepr(id) } or + /** + * INTERNAL: Do not use. + */ + TReferenceType(Raw::ReferenceType id) { constructReferenceType(id) } or /** * INTERNAL: Do not use. */ @@ -498,6 +530,10 @@ module Synth { * INTERNAL: Do not use. */ TSlicePat(Raw::SlicePat id) { constructSlicePat(id) } or + /** + * INTERNAL: Do not use. + */ + TSliceType(Raw::SliceType id) { constructSliceType(id) } or /** * INTERNAL: Do not use. */ @@ -558,6 +594,10 @@ module Synth { * INTERNAL: Do not use. */ TTupleStructPat(Raw::TupleStructPat id) { constructTupleStructPat(id) } or + /** + * INTERNAL: Do not use. + */ + TTupleType(Raw::TupleType id) { constructTupleType(id) } or /** * INTERNAL: Do not use. */ @@ -788,6 +828,13 @@ module Synth { */ class TToken = TComment; + /** + * INTERNAL: Do not use. + */ + class TType = + TArrayType or TErrorType or TFunctionType or TNeverType or TPathType or TPlaceholderType or + TRawPtrType or TReferenceType or TSliceType or TTupleType; + /** * INTERNAL: Do not use. */ @@ -838,6 +885,12 @@ module Synth { */ TArrayRepeatExpr convertArrayRepeatExprFromRaw(Raw::Element e) { result = TArrayRepeatExpr(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TArrayType`, if possible. + */ + TArrayType convertArrayTypeFromRaw(Raw::Element e) { result = TArrayType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TArrayTypeRepr`, if possible. @@ -1000,6 +1053,12 @@ module Synth { */ TEnumVariant convertEnumVariantFromRaw(Raw::Element e) { result = TEnumVariant(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TErrorType`, if possible. + */ + TErrorType convertErrorTypeFromRaw(Raw::Element e) { result = TErrorType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TExprStmt`, if possible. @@ -1092,6 +1151,12 @@ module Synth { */ TFunction convertFunctionFromRaw(Raw::Element e) { result = TFunction(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TFunctionType`, if possible. + */ + TFunctionType convertFunctionTypeFromRaw(Raw::Element e) { result = TFunctionType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TGenericArgList`, if possible. @@ -1316,6 +1381,12 @@ module Synth { */ TNameRef convertNameRefFromRaw(Raw::Element e) { result = TNameRef(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TNeverType`, if possible. + */ + TNeverType convertNeverTypeFromRaw(Raw::Element e) { result = TNeverType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TNeverTypeRepr`, if possible. @@ -1388,12 +1459,24 @@ module Synth { */ TPathSegment convertPathSegmentFromRaw(Raw::Element e) { result = TPathSegment(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TPathType`, if possible. + */ + TPathType convertPathTypeFromRaw(Raw::Element e) { result = TPathType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TPathTypeRepr`, if possible. */ TPathTypeRepr convertPathTypeReprFromRaw(Raw::Element e) { result = TPathTypeRepr(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TPlaceholderType`, if possible. + */ + TPlaceholderType convertPlaceholderTypeFromRaw(Raw::Element e) { result = TPlaceholderType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TPrefixExpr`, if possible. @@ -1418,6 +1501,12 @@ module Synth { */ TRangePat convertRangePatFromRaw(Raw::Element e) { result = TRangePat(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TRawPtrType`, if possible. + */ + TRawPtrType convertRawPtrTypeFromRaw(Raw::Element e) { result = TRawPtrType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TRecordExpr`, if possible. @@ -1488,6 +1577,12 @@ module Synth { */ TRefTypeRepr convertRefTypeReprFromRaw(Raw::Element e) { result = TRefTypeRepr(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TReferenceType`, if possible. + */ + TReferenceType convertReferenceTypeFromRaw(Raw::Element e) { result = TReferenceType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TRename`, if possible. @@ -1530,6 +1625,12 @@ module Synth { */ TSlicePat convertSlicePatFromRaw(Raw::Element e) { result = TSlicePat(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TSliceType`, if possible. + */ + TSliceType convertSliceTypeFromRaw(Raw::Element e) { result = TSliceType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TSliceTypeRepr`, if possible. @@ -1620,6 +1721,12 @@ module Synth { */ TTupleStructPat convertTupleStructPatFromRaw(Raw::Element e) { result = TTupleStructPat(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TTupleType`, if possible. + */ + TTupleType convertTupleTypeFromRaw(Raw::Element e) { result = TTupleType(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TTupleTypeRepr`, if possible. @@ -1947,6 +2054,8 @@ module Synth { or result = convertModuleContainerFromRaw(e) or + result = convertTypeFromRaw(e) + or result = convertTypeItemFromRaw(e) or result = convertUnextractedFromRaw(e) @@ -2264,6 +2373,32 @@ module Synth { */ TToken convertTokenFromRaw(Raw::Element e) { result = convertCommentFromRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a raw DB element to a synthesized `TType`, if possible. + */ + TType convertTypeFromRaw(Raw::Element e) { + result = convertArrayTypeFromRaw(e) + or + result = convertErrorTypeFromRaw(e) + or + result = convertFunctionTypeFromRaw(e) + or + result = convertNeverTypeFromRaw(e) + or + result = convertPathTypeFromRaw(e) + or + result = convertPlaceholderTypeFromRaw(e) + or + result = convertRawPtrTypeFromRaw(e) + or + result = convertReferenceTypeFromRaw(e) + or + result = convertSliceTypeFromRaw(e) + or + result = convertTupleTypeFromRaw(e) + } + /** * INTERNAL: Do not use. * Converts a raw DB element to a synthesized `TTypeItem`, if possible. @@ -2350,6 +2485,12 @@ module Synth { */ Raw::Element convertArrayRepeatExprToRaw(TArrayRepeatExpr e) { e = TArrayRepeatExpr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TArrayType` to a raw DB element, if possible. + */ + Raw::Element convertArrayTypeToRaw(TArrayType e) { e = TArrayType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TArrayTypeRepr` to a raw DB element, if possible. @@ -2512,6 +2653,12 @@ module Synth { */ Raw::Element convertEnumVariantToRaw(TEnumVariant e) { e = TEnumVariant(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TErrorType` to a raw DB element, if possible. + */ + Raw::Element convertErrorTypeToRaw(TErrorType e) { e = TErrorType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TExprStmt` to a raw DB element, if possible. @@ -2602,6 +2749,12 @@ module Synth { */ Raw::Element convertFunctionToRaw(TFunction e) { e = TFunction(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TFunctionType` to a raw DB element, if possible. + */ + Raw::Element convertFunctionTypeToRaw(TFunctionType e) { e = TFunctionType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TGenericArgList` to a raw DB element, if possible. @@ -2826,6 +2979,12 @@ module Synth { */ Raw::Element convertNameRefToRaw(TNameRef e) { e = TNameRef(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TNeverType` to a raw DB element, if possible. + */ + Raw::Element convertNeverTypeToRaw(TNeverType e) { e = TNeverType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TNeverTypeRepr` to a raw DB element, if possible. @@ -2898,12 +3057,24 @@ module Synth { */ Raw::Element convertPathSegmentToRaw(TPathSegment e) { e = TPathSegment(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPathType` to a raw DB element, if possible. + */ + Raw::Element convertPathTypeToRaw(TPathType e) { e = TPathType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TPathTypeRepr` to a raw DB element, if possible. */ Raw::Element convertPathTypeReprToRaw(TPathTypeRepr e) { e = TPathTypeRepr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TPlaceholderType` to a raw DB element, if possible. + */ + Raw::Element convertPlaceholderTypeToRaw(TPlaceholderType e) { e = TPlaceholderType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TPrefixExpr` to a raw DB element, if possible. @@ -2928,6 +3099,12 @@ module Synth { */ Raw::Element convertRangePatToRaw(TRangePat e) { e = TRangePat(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TRawPtrType` to a raw DB element, if possible. + */ + Raw::Element convertRawPtrTypeToRaw(TRawPtrType e) { e = TRawPtrType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TRecordExpr` to a raw DB element, if possible. @@ -2998,6 +3175,12 @@ module Synth { */ Raw::Element convertRefTypeReprToRaw(TRefTypeRepr e) { e = TRefTypeRepr(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TReferenceType` to a raw DB element, if possible. + */ + Raw::Element convertReferenceTypeToRaw(TReferenceType e) { e = TReferenceType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TRename` to a raw DB element, if possible. @@ -3040,6 +3223,12 @@ module Synth { */ Raw::Element convertSlicePatToRaw(TSlicePat e) { e = TSlicePat(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TSliceType` to a raw DB element, if possible. + */ + Raw::Element convertSliceTypeToRaw(TSliceType e) { e = TSliceType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TSliceTypeRepr` to a raw DB element, if possible. @@ -3130,6 +3319,12 @@ module Synth { */ Raw::Element convertTupleStructPatToRaw(TTupleStructPat e) { e = TTupleStructPat(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TTupleType` to a raw DB element, if possible. + */ + Raw::Element convertTupleTypeToRaw(TTupleType e) { e = TTupleType(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TTupleTypeRepr` to a raw DB element, if possible. @@ -3457,6 +3652,8 @@ module Synth { or result = convertModuleContainerToRaw(e) or + result = convertTypeToRaw(e) + or result = convertTypeItemToRaw(e) or result = convertUnextractedToRaw(e) @@ -3774,6 +3971,32 @@ module Synth { */ Raw::Element convertTokenToRaw(TToken e) { result = convertCommentToRaw(e) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TType` to a raw DB element, if possible. + */ + Raw::Element convertTypeToRaw(TType e) { + result = convertArrayTypeToRaw(e) + or + result = convertErrorTypeToRaw(e) + or + result = convertFunctionTypeToRaw(e) + or + result = convertNeverTypeToRaw(e) + or + result = convertPathTypeToRaw(e) + or + result = convertPlaceholderTypeToRaw(e) + or + result = convertRawPtrTypeToRaw(e) + or + result = convertReferenceTypeToRaw(e) + or + result = convertSliceTypeToRaw(e) + or + result = convertTupleTypeToRaw(e) + } + /** * INTERNAL: Do not use. * Converts a synthesized `TTypeItem` to a raw DB element, if possible. diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll index d5a35f80b0522..43d457b32039c 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll @@ -8,6 +8,7 @@ import codeql.rust.elements.internal.ArgListConstructor import codeql.rust.elements.internal.ArrayExprInternalConstructor import codeql.rust.elements.internal.ArrayListExprConstructor import codeql.rust.elements.internal.ArrayRepeatExprConstructor +import codeql.rust.elements.internal.ArrayTypeConstructor import codeql.rust.elements.internal.ArrayTypeReprConstructor import codeql.rust.elements.internal.AsmExprConstructor import codeql.rust.elements.internal.AssocItemListConstructor @@ -35,6 +36,7 @@ import codeql.rust.elements.internal.DynTraitTypeReprConstructor import codeql.rust.elements.internal.EnumConstructor import codeql.rust.elements.internal.EnumItemConstructor import codeql.rust.elements.internal.EnumVariantConstructor +import codeql.rust.elements.internal.ErrorTypeConstructor import codeql.rust.elements.internal.ExprStmtConstructor import codeql.rust.elements.internal.ExternBlockConstructor import codeql.rust.elements.internal.ExternCrateConstructor @@ -50,6 +52,7 @@ import codeql.rust.elements.internal.FormatArgsExprConstructor import codeql.rust.elements.internal.FormatArgumentConstructor import codeql.rust.elements.internal.FormatTemplateVariableAccessConstructor import codeql.rust.elements.internal.FunctionConstructor +import codeql.rust.elements.internal.FunctionTypeConstructor import codeql.rust.elements.internal.GenericArgListConstructor import codeql.rust.elements.internal.GenericParamListConstructor import codeql.rust.elements.internal.IdentPatConstructor @@ -87,6 +90,7 @@ import codeql.rust.elements.internal.MissingConstructor import codeql.rust.elements.internal.ModuleConstructor import codeql.rust.elements.internal.NameConstructor import codeql.rust.elements.internal.NameRefConstructor +import codeql.rust.elements.internal.NeverTypeConstructor import codeql.rust.elements.internal.NeverTypeReprConstructor import codeql.rust.elements.internal.OffsetOfExprConstructor import codeql.rust.elements.internal.OrPatConstructor @@ -99,11 +103,14 @@ import codeql.rust.elements.internal.PathConstructor import codeql.rust.elements.internal.PathExprConstructor import codeql.rust.elements.internal.PathPatConstructor import codeql.rust.elements.internal.PathSegmentConstructor +import codeql.rust.elements.internal.PathTypeConstructor import codeql.rust.elements.internal.PathTypeReprConstructor +import codeql.rust.elements.internal.PlaceholderTypeConstructor import codeql.rust.elements.internal.PrefixExprConstructor import codeql.rust.elements.internal.PtrTypeReprConstructor import codeql.rust.elements.internal.RangeExprConstructor import codeql.rust.elements.internal.RangePatConstructor +import codeql.rust.elements.internal.RawPtrTypeConstructor import codeql.rust.elements.internal.RecordExprConstructor import codeql.rust.elements.internal.RecordExprFieldConstructor import codeql.rust.elements.internal.RecordExprFieldListConstructor @@ -115,6 +122,7 @@ import codeql.rust.elements.internal.RecordPatFieldListConstructor import codeql.rust.elements.internal.RefExprConstructor import codeql.rust.elements.internal.RefPatConstructor import codeql.rust.elements.internal.RefTypeReprConstructor +import codeql.rust.elements.internal.ReferenceTypeConstructor import codeql.rust.elements.internal.RenameConstructor import codeql.rust.elements.internal.RestPatConstructor import codeql.rust.elements.internal.RetTypeReprConstructor @@ -122,6 +130,7 @@ import codeql.rust.elements.internal.ReturnExprConstructor import codeql.rust.elements.internal.ReturnTypeSyntaxConstructor import codeql.rust.elements.internal.SelfParamConstructor import codeql.rust.elements.internal.SlicePatConstructor +import codeql.rust.elements.internal.SliceTypeConstructor import codeql.rust.elements.internal.SliceTypeReprConstructor import codeql.rust.elements.internal.SourceFileConstructor import codeql.rust.elements.internal.StaticConstructor @@ -137,6 +146,7 @@ import codeql.rust.elements.internal.TupleFieldConstructor import codeql.rust.elements.internal.TupleFieldListConstructor import codeql.rust.elements.internal.TuplePatConstructor import codeql.rust.elements.internal.TupleStructPatConstructor +import codeql.rust.elements.internal.TupleTypeConstructor import codeql.rust.elements.internal.TupleTypeReprConstructor import codeql.rust.elements.internal.TypeAliasConstructor import codeql.rust.elements.internal.TypeArgConstructor diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/TupleType.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/TupleType.qll new file mode 100644 index 0000000000000..e7b7559ddec29 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/TupleType.qll @@ -0,0 +1,44 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `TupleType`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.Type +import codeql.rust.elements.internal.TypeImpl::Impl as TypeImpl + +/** + * INTERNAL: This module contains the fully generated definition of `TupleType` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::TupleType` class directly. + * Use the subclass `TupleType`, where the following predicates are available. + */ + class TupleType extends Synth::TTupleType, TypeImpl::Type { + override string getAPrimaryQlClass() { result = "TupleType" } + + /** + * Gets the `index`th field of this tuple type (0-based). + */ + Type getField(int index) { + result = + Synth::convertTypeFromRaw(Synth::convertTupleTypeToRaw(this) + .(Raw::TupleType) + .getField(index)) + } + + /** + * Gets any of the fields of this tuple type. + */ + final Type getAField() { result = this.getField(_) } + + /** + * Gets the number of fields of this tuple type. + */ + final int getNumberOfFields() { result = count(int i | exists(this.getField(i))) } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Type.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Type.qll new file mode 100644 index 0000000000000..47ba75797fe6c --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Type.qll @@ -0,0 +1,21 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `Type`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.ElementImpl::Impl as ElementImpl + +/** + * INTERNAL: This module contains the fully generated definition of `Type` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::Type` class directly. + * Use the subclass `Type`, where the following predicates are available. + */ + class Type extends Synth::TType, ElementImpl::Element { } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ValueItem.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ValueItem.qll index 2d98a74e1d946..f20d210cbc5c1 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ValueItem.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ValueItem.qll @@ -7,7 +7,7 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.ElementImpl::Impl as ElementImpl -import codeql.rust.elements.TypeRepr +import codeql.rust.elements.Type /** * INTERNAL: This module contains the fully generated definition of `ValueItem` and should not @@ -29,9 +29,9 @@ module Generated { /** * Gets the type of this value item. */ - TypeRepr getType() { + Type getType() { result = - Synth::convertTypeReprFromRaw(Synth::convertValueItemToRaw(this).(Raw::ValueItem).getType()) + Synth::convertTypeFromRaw(Synth::convertValueItemToRaw(this).(Raw::ValueItem).getType()) } } } diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/VariantData.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/VariantData.qll index 8bde98b00e6e3..16aa5915d1855 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/VariantData.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/VariantData.qll @@ -7,7 +7,7 @@ private import codeql.rust.elements.internal.generated.Synth private import codeql.rust.elements.internal.generated.Raw import codeql.rust.elements.internal.ElementImpl::Impl as ElementImpl -import codeql.rust.elements.TypeRepr +import codeql.rust.elements.Type /** * INTERNAL: This module contains the fully generated definition of `VariantData` and should not @@ -24,9 +24,9 @@ module Generated { /** * Gets the `index`th type of this variant data (0-based). */ - TypeRepr getType(int index) { + Type getType(int index) { result = - Synth::convertTypeReprFromRaw(Synth::convertVariantDataToRaw(this) + Synth::convertTypeFromRaw(Synth::convertVariantDataToRaw(this) .(Raw::VariantData) .getType(index)) } @@ -34,7 +34,7 @@ module Generated { /** * Gets any of the types of this variant data. */ - final TypeRepr getAType() { result = this.getType(_) } + final Type getAType() { result = this.getType(_) } /** * Gets the number of types of this variant data. diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index 3321e0d5bb2d9..201b48bf78a9a 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -124,6 +124,7 @@ locatable_locations( | @extractor_step | @locatable | @module_container +| @type | @type_item | @unextracted | @value_item @@ -157,6 +158,19 @@ extractor_steps( | @crate_module ; +@type = + @array_type +| @error_type +| @function_type +| @never_type +| @path_type +| @placeholder_type +| @raw_ptr_type +| @reference_type +| @slice_type +| @tuple_type +; + @type_item = @enum_item | @struct_item @@ -170,7 +184,7 @@ extractor_steps( value_items( unique int id: @value_item, string name: string ref, - int type_: @type_repr ref + int type_: @type ref ); variant_data( @@ -181,7 +195,7 @@ variant_data( variant_data_types( int id: @variant_data ref, int index: int ref, - int type_: @type_repr ref + int type_: @type ref ); #keyset[id, index] @@ -196,6 +210,11 @@ variant_data_is_record( int id: @variant_data ref ); +array_types( + unique int id: @array_type, + int type_: @type ref +); + @ast_node = @abi | @addressable @@ -319,10 +338,102 @@ enum_item_variants( int variant: @enum_variant ref ); +error_types( + unique int id: @error_type +); + +function_types( + unique int id: @function_type, + int ret_type: @type ref +); + +#keyset[id] +function_type_self_types( + int id: @function_type ref, + int self_type: @type ref +); + +#keyset[id, index] +function_type_params( + int id: @function_type ref, + int index: int ref, + int param: @type ref +); + +#keyset[id] +function_type_is_const( + int id: @function_type ref +); + +#keyset[id] +function_type_is_async( + int id: @function_type ref +); + +#keyset[id] +function_type_is_unsafe( + int id: @function_type ref +); + +#keyset[id] +function_type_has_varargs( + int id: @function_type ref +); + missings( unique int id: @missing ); +never_types( + unique int id: @never_type +); + +path_types( + unique int id: @path_type +); + +#keyset[id, index] +path_type_paths( + int id: @path_type ref, + int index: int ref, + string path: string ref +); + +placeholder_types( + unique int id: @placeholder_type +); + +raw_ptr_types( + unique int id: @raw_ptr_type, + int type_: @type ref +); + +#keyset[id] +raw_ptr_type_is_mut( + int id: @raw_ptr_type ref +); + +reference_types( + unique int id: @reference_type, + int type_: @type ref +); + +#keyset[id] +reference_type_lifetimes( + int id: @reference_type ref, + string lifetime: string ref +); + +#keyset[id] +reference_type_is_mut( + int id: @reference_type ref +); + +slice_types( + unique int id: @slice_type, + int type_: @type ref +); + struct_items( unique int id: @struct_item, string name: string ref @@ -339,6 +450,17 @@ struct_item_is_union( int id: @struct_item ref ); +tuple_types( + unique int id: @tuple_type +); + +#keyset[id, index] +tuple_type_fields( + int id: @tuple_type ref, + int index: int ref, + int field: @type ref +); + unimplementeds( unique int id: @unimplemented ); diff --git a/rust/ql/test/extractor-tests/generated/ArrayType/ArrayType.ql b/rust/ql/test/extractor-tests/generated/ArrayType/ArrayType.ql new file mode 100644 index 0000000000000..144ad4fb37779 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/ArrayType/ArrayType.ql @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from ArrayType x, Type getType +where + toBeTested(x) and + not x.isUnknown() and + getType = x.getType() +select x, "getType:", getType diff --git a/rust/ql/test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt new file mode 100644 index 0000000000000..7f96b17b1f3ce --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/ErrorType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// 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/FunctionType/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/FunctionType/MISSING_SOURCE.txt new file mode 100644 index 0000000000000..7f96b17b1f3ce --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/FunctionType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// 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/NeverType/NeverType.ql b/rust/ql/test/extractor-tests/generated/NeverType/NeverType.ql new file mode 100644 index 0000000000000..b093d5f1ee5b1 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/NeverType/NeverType.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from NeverType x +where toBeTested(x) and not x.isUnknown() +select x diff --git a/rust/ql/test/extractor-tests/generated/PathType/PathType.ql b/rust/ql/test/extractor-tests/generated/PathType/PathType.ql new file mode 100644 index 0000000000000..00b10ac60d6b0 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/PathType/PathType.ql @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from PathType x, int getNumberOfPaths +where + toBeTested(x) and + not x.isUnknown() and + getNumberOfPaths = x.getNumberOfPaths() +select x, "getNumberOfPaths:", getNumberOfPaths diff --git a/rust/ql/test/extractor-tests/generated/PathType/PathType_getPath.ql b/rust/ql/test/extractor-tests/generated/PathType/PathType_getPath.ql new file mode 100644 index 0000000000000..2646c2cf0ea45 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/PathType/PathType_getPath.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from PathType x, int index +where toBeTested(x) and not x.isUnknown() +select x, index, x.getPath(index) diff --git a/rust/ql/test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt new file mode 100644 index 0000000000000..7f96b17b1f3ce --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/PlaceholderType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// 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/RawPtrType/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/RawPtrType/MISSING_SOURCE.txt new file mode 100644 index 0000000000000..7f96b17b1f3ce --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/RawPtrType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// 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/ReferenceType/MISSING_SOURCE.txt b/rust/ql/test/extractor-tests/generated/ReferenceType/MISSING_SOURCE.txt new file mode 100644 index 0000000000000..7f96b17b1f3ce --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/ReferenceType/MISSING_SOURCE.txt @@ -0,0 +1,4 @@ +// 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/SliceType/SliceType.ql b/rust/ql/test/extractor-tests/generated/SliceType/SliceType.ql new file mode 100644 index 0000000000000..6ee46b7aa8048 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/SliceType/SliceType.ql @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from SliceType x, Type getType +where + toBeTested(x) and + not x.isUnknown() and + getType = x.getType() +select x, "getType:", getType diff --git a/rust/ql/test/extractor-tests/generated/TupleType/TupleType.ql b/rust/ql/test/extractor-tests/generated/TupleType/TupleType.ql new file mode 100644 index 0000000000000..785ae988aa0d7 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/TupleType/TupleType.ql @@ -0,0 +1,10 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from TupleType x, int getNumberOfFields +where + toBeTested(x) and + not x.isUnknown() and + getNumberOfFields = x.getNumberOfFields() +select x, "getNumberOfFields:", getNumberOfFields diff --git a/rust/ql/test/extractor-tests/generated/TupleType/TupleType_getField.ql b/rust/ql/test/extractor-tests/generated/TupleType/TupleType_getField.ql new file mode 100644 index 0000000000000..c77aa1e03b6c2 --- /dev/null +++ b/rust/ql/test/extractor-tests/generated/TupleType/TupleType_getField.ql @@ -0,0 +1,7 @@ +// generated by codegen, do not edit +import codeql.rust.elements +import TestUtils + +from TupleType x, int index +where toBeTested(x) and not x.isUnknown() +select x, index, x.getField(index) diff --git a/rust/schema/prelude.py b/rust/schema/prelude.py index 01a09af2e7dfc..6df9661694e71 100644 --- a/rust/schema/prelude.py +++ b/rust/schema/prelude.py @@ -113,12 +113,65 @@ class ExtractorStep(Element): duration_ms: int +class Type(Element): + pass + + +class NeverType(Type): + pass + + +class PlaceholderType(Type): + pass + + +class TupleType(Type): + fields: list[Type] + + +class RawPtrType(Type): + type: Type + is_mut: predicate + + +class ReferenceType(Type): + type: Type + lifetime: optional[string] + is_mut: predicate + + +class ArrayType(Type): + type: Type + + +class SliceType(Type): + type: Type + + +class FunctionType(Type): + self_type: optional[Type] + params: list[Type] + ret_type: Type + is_const: predicate + is_async: predicate + is_unsafe: predicate + has_varargs: predicate + + +class PathType(Type): + path: list[string] + + +class ErrorType(Type): + pass + + class ModuleContainer(Element): pass class VariantData(Element): - types: list["TypeRepr"] + types: list[Type] fields: list[string] is_record: predicate @@ -145,7 +198,7 @@ class EnumItem(TypeItem): class ValueItem(Element): name: string - type: "TypeRepr" + type: Type class CrateModule(ModuleContainer):