CodeQL library for Rust
codeql/rust-all 0.2.5-dev (changelog, source)
Search

Class Impl::Trait

A Trait. For example:

trait Frobinizable {
  type Frobinator;
  type Result: Copy;
  fn frobinize_with(&mut self, frobinator: &Self::Frobinator) -> Result;
}

pub trait Foo<T: Frobinizable> where T::Frobinator: Eq {}

Import path

import codeql.rust.elements.internal.TraitImpl

Direct supertypes

Indirect supertypes

Predicates

getATypeBound

Gets a type bound of this trait.

getNumberOfGenericParams

Gets the number of generic parameters of this trait.

getSupertrait

Gets a direct supertrait of this trait, if any.

getTypeBound

Gets the indexth type bound of this trait, if any.

toStringImpl

INTERNAL: Do not use.

Inherited predicates

fromSource

Holds if this element is from source code.

from Locatable
getACfgNode

Gets a control flow node for this AST node, if any.

from AstNode
getAPrimaryQlClass

Gets the name of a primary CodeQL class to which this element belongs.

from Trait
getAnAttr

Gets any of the attrs of this trait.

from Trait
getAssocItemList

Gets the assoc item list of this trait, if it exists.

from Trait
getAttr

Gets the indexth attr of this trait (0-based).

from Trait
getAttributeMacroExpansion

Gets the attribute macro expansion of this item, if it exists.

from Item
getCanonicalPath

Gets the canonical path of this item, if any.

from Addressable
getCanonicalPath

Gets the canonical path of this item, if any.

from Addressable
getEnclosingBlock

Gets the block that encloses this node, if any.

from AstNode
getEnclosingCallable

Gets the immediately enclosing callable of this node, if any.

from AstNode
getEnclosingCfgScope

Gets the CFG scope that encloses this node, if any.

from AstNode
getFile

Gets the primary file where this element occurs.

from Locatable
getGenericParamList

Gets the generic parameter list of this trait, if it exists.

from Trait
getLocationfrom Locatable
getName

Gets the name of this trait, if it exists.

from Trait
getNumberOfAttrs

Gets the number of attrs of this trait.

from Trait
getParentNode

Gets the nearest enclosing parent of this node, which is also an AstNode, if any.

from AstNode
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Element
getResolveStep

Gets the most immediate element that should substitute this element in the explicit AST, if any. Classes can override this to indicate this node should be in the “hidden” AST, mostly reserved for conversions and syntactic sugar nodes like parentheses.

from Element
getTypeBoundList

Gets the type bound list of this trait, if it exists.

from Trait
getVisibility

Gets the visibility of this trait, if it exists.

from Trait
getWhereClause

Gets the where clause of this trait, if it exists.

from Trait
hasAssocItemList

Holds if getAssocItemList() exists.

from Trait
hasAttributeMacroExpansion

Holds if getAttributeMacroExpansion() exists.

from Item
hasCanonicalPath

Holds if this item has a canonical path.

from Addressable
hasEnclosingCfgScope

Holds if this node is inside a CFG scope.

from AstNode
hasGenericParamList

Holds if getGenericParamList() exists.

from Trait
hasName

Holds if getName() exists.

from Trait
hasTypeBoundList

Holds if getTypeBoundList() exists.

from Trait
hasVisibility

Holds if getVisibility() exists.

from Trait
hasWhereClause

Holds if getWhereClause() exists.

from Trait
isAuto

Holds if this trait is auto.

from Trait
isFromMacroExpansion

Holds if this node exists only as the result of a macro expansion.

from AstNode
isInMacroExpansion

Holds if this node is inside a macro expansion.

from AstNode
isUnknownfrom Element
isUnsafe

Holds if this trait is unsafe.

from Trait
resolve

Gets the element that should substitute this element in the explicit AST, applying getResolveStep transitively.

from Element
toAbbreviatedString

INTERNAL: Do not use.

from Element
toString

Gets the string representation of this element.

from Element