Rust: Move everything type inference related into the typeinference directory

This commit is contained in:
Simon Friis Vindum
2026-01-12 14:50:08 +01:00
parent c666fc71ca
commit 9e74a7869a
28 changed files with 48 additions and 48 deletions

View File

@@ -5,4 +5,4 @@
* @id rust/diagnostics/type-inference-consistency
*/
import codeql.rust.internal.TypeInferenceConsistency
import codeql.rust.internal.typeinference.TypeInferenceConsistency

View File

@@ -15,7 +15,7 @@ private import codeql.rust.internal.PathResolution
private import codeql.rust.controlflow.ControlFlowGraph
private import codeql.rust.dataflow.Ssa
private import codeql.rust.dataflow.FlowSummary
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.DerefChain
private import Node
private import Content

View File

@@ -205,8 +205,8 @@ private module Debug {
private import Private
private import Content
private import codeql.rust.dataflow.internal.DataFlowImpl
private import codeql.rust.internal.TypeMention
private import codeql.rust.internal.Type
private import codeql.rust.internal.typeinference.TypeMention
private import codeql.rust.internal.typeinference.Type
private predicate relevantManualModel(SummarizedCallableImpl sc, string can) {
exists(Provenance manual |

View File

@@ -14,7 +14,7 @@ private import codeql.rust.controlflow.ControlFlowGraph
private import codeql.rust.controlflow.CfgNodes
private import codeql.rust.dataflow.Ssa
private import codeql.rust.dataflow.FlowSummary
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.DerefChain
private import Node as Node
private import DataFlowImpl

View File

@@ -7,8 +7,8 @@ private import Node as Node
private import Content
private import FlowSummaryImpl as FlowSummaryImpl
private import codeql.rust.internal.CachedStages
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.Type as Type
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.Type as Type
private import codeql.rust.frameworks.stdlib.Builtins as Builtins
/**

View File

@@ -15,7 +15,7 @@ module Impl {
private import codeql.rust.elements.internal.InvocationExprImpl::Impl as InvocationExprImpl
private import codeql.rust.elements.internal.CallImpl::Impl as CallImpl
private import codeql.rust.internal.PathResolution as PathResolution
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
pragma[nomagic]
Path getFunctionPath(CallExpr ce) { result = ce.getFunction().(PathExpr).getPath() }

View File

@@ -1,7 +1,7 @@
private import rust
module Impl {
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl
private import codeql.rust.elements.internal.InvocationExprImpl::Impl as InvocationExprImpl

View File

@@ -12,7 +12,7 @@ private import codeql.rust.elements.internal.generated.FieldExpr
*/
module Impl {
private import rust
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
// the following QLdoc is generated: if you need to edit it, do it in the schema file
/**

View File

@@ -1,7 +1,7 @@
private import rust
module Impl {
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.elements.internal.ExprImpl::Impl as ExprImpl
private newtype TArgumentPosition =

View File

@@ -5,8 +5,8 @@
private import rust
private import codeql.rust.Concepts
private import codeql.rust.dataflow.DataFlow
private import codeql.rust.internal.TypeInference
private import codeql.rust.internal.Type
private import codeql.rust.internal.typeinference.TypeInference
private import codeql.rust.internal.typeinference.Type
bindingset[algorithmName]
private string simplifyAlgorithmName(string algorithmName) {

View File

@@ -128,8 +128,8 @@ module Stages {
*/
cached
module TypeInferenceStage {
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeInference
private import codeql.rust.internal.typeinference.Type
private import codeql.rust.internal.typeinference.TypeInference
/**
* Always holds.

View File

@@ -7,9 +7,9 @@
private import rust
private import codeql.rust.internal.PathResolution
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeMention
private import codeql.rust.internal.TypeInference
private import Type
private import TypeMention
private import TypeInference
/**
* Holds if `traitBound` is the first non-trivial trait bound of `tp`.

View File

@@ -2,9 +2,9 @@
private import rust
private import codeql.rust.internal.PathResolution
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeInference
private import codeql.rust.internal.TypeMention
private import Type
private import TypeInference
private import codeql.rust.internal.typeinference.TypeMention
private import codeql.rust.frameworks.stdlib.Stdlib
private import codeql.rust.frameworks.stdlib.Builtins as Builtins
private import codeql.util.UnboundList as UnboundListImpl

View File

@@ -7,9 +7,9 @@
private import rust
private import codeql.rust.internal.PathResolution
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeMention
private import codeql.rust.internal.TypeInference
private import Type
private import TypeMention
private import TypeInference
private import FunctionType
pragma[nomagic]

View File

@@ -1,8 +1,8 @@
private import rust
private import codeql.rust.internal.TypeInference
private import codeql.rust.internal.PathResolution
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeMention
private import TypeInference
private import Type
private import TypeMention
private newtype TFunctionPosition =
TArgumentFunctionPosition(ArgumentPosition pos) or

View File

@@ -1,7 +1,7 @@
/** Provides classes representing types without type arguments. */
private import rust
private import PathResolution
private import codeql.rust.internal.PathResolution
private import TypeMention
private import codeql.rust.internal.CachedStages
private import codeql.rust.elements.internal.generated.Raw

View File

@@ -3,14 +3,14 @@
private import codeql.util.Boolean
private import codeql.util.Option
private import rust
private import PathResolution
private import codeql.rust.internal.PathResolution
private import Type
private import Type as T
private import TypeMention
private import typeinference.DerefChain
private import typeinference.FunctionType
private import typeinference.FunctionOverloading as FunctionOverloading
private import typeinference.BlanketImplementation as BlanketImplementation
private import codeql.rust.internal.typeinference.DerefChain
private import FunctionType
private import FunctionOverloading as FunctionOverloading
private import BlanketImplementation as BlanketImplementation
private import codeql.rust.elements.internal.VariableImpl::Impl as VariableImpl
private import codeql.rust.internal.CachedStages
private import codeql.typeinference.internal.TypeInference

View File

@@ -1,9 +1,9 @@
/** Provides classes for representing type mentions, used in type inference. */
private import rust
private import codeql.rust.internal.PathResolution
private import codeql.rust.frameworks.stdlib.Stdlib
private import Type
private import PathResolution
private import TypeInference
/** An AST node that may mention a type. */

View File

@@ -6,8 +6,8 @@
import rust
private import codeql.rust.dataflow.DataFlow
private import codeql.rust.security.AccessInvalidPointerExtensions
private import codeql.rust.internal.Type
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.Type
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
/**
* Provides default sources, sinks and barriers for detecting accesses to a

View File

@@ -10,8 +10,8 @@ private import codeql.rust.dataflow.FlowSink
private import codeql.rust.Concepts
private import codeql.rust.dataflow.internal.Node
private import codeql.rust.security.Barriers as Barriers
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.Type
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.Type
/**
* Provides default sources, sinks and barriers for detecting accesses to

View File

@@ -5,8 +5,8 @@
import rust
private import codeql.rust.dataflow.DataFlow
private import codeql.rust.internal.TypeInference as TypeInference
private import codeql.rust.internal.Type
private import codeql.rust.internal.typeinference.TypeInference as TypeInference
private import codeql.rust.internal.typeinference.Type
private import codeql.rust.controlflow.ControlFlowGraph as Cfg
private import codeql.rust.controlflow.CfgNodes as CfgNodes
private import codeql.rust.frameworks.stdlib.Builtins as Builtins

View File

@@ -4,7 +4,7 @@
private import rust
private import codeql.rust.internal.PathResolution
private import codeql.rust.internal.TypeInference
private import codeql.rust.internal.typeinference.TypeInference
private import utils.test.InlineExpectationsTest
private module ResolveTest implements TestSig {

View File

@@ -5,7 +5,7 @@
* @id rust/diagnostics/type-inference-consistency-counts
*/
private import codeql.rust.internal.TypeInferenceConsistency as Consistency
private import codeql.rust.internal.typeinference.TypeInferenceConsistency as Consistency
// see also `rust/diagnostics/type-inference-consistency`, which lists the
// individual inconsistency results.

View File

@@ -7,7 +7,7 @@
*/
import rust
import codeql.rust.internal.TypeInference
import codeql.rust.internal.typeinference.TypeInference
from int atLimit
where

View File

@@ -8,7 +8,7 @@ private import codeql.rust.dataflow.internal.DataFlowImpl
private import codeql.rust.dataflow.internal.TaintTrackingImpl
private import codeql.rust.internal.AstConsistency as AstConsistency
private import codeql.rust.internal.PathResolutionConsistency as PathResolutionConsistency
private import codeql.rust.internal.TypeInferenceConsistency as TypeInferenceConsistency
private import codeql.rust.internal.typeinference.TypeInferenceConsistency as TypeInferenceConsistency
private import codeql.rust.controlflow.internal.CfgConsistency as CfgConsistency
private import codeql.rust.dataflow.internal.DataFlowConsistency as DataFlowConsistency
private import codeql.rust.dataflow.internal.SsaImpl::Consistency as SsaConsistency

View File

@@ -7,8 +7,8 @@
import rust
import codeql.util.ReportStats
import codeql.rust.elements.internal.CallExprImpl::Impl as CallExprImpl
import codeql.rust.internal.TypeInference as TypeInference
import codeql.rust.internal.Type
import codeql.rust.internal.typeinference.TypeInference as TypeInference
import codeql.rust.internal.typeinference.Type
/**
* A file that is included in the quality statistics.

View File

@@ -1,7 +1,7 @@
import rust
import utils.test.InlineExpectationsTest
import codeql.rust.internal.Type
import codeql.rust.internal.TypeInference as TypeInference
import codeql.rust.internal.typeinference.Type
import codeql.rust.internal.typeinference.TypeInference as TypeInference
import TypeInference
private predicate relevantNode(AstNode n) {