aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/rust-session-manager.cc
diff options
context:
space:
mode:
authorJakub Dupak <dev@jakubdupak.com>2024-02-02 14:09:38 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2024-08-01 13:12:16 +0200
commitd8cd08d30e0d9bfa02f29493352bac041659df7f (patch)
tree8d5c0a5a8367dad8f05298aa012c295936d7bc32 /gcc/rust/rust-session-manager.cc
parent54d8f97ee172d8a7dd434d44fdbfbd1666de8b34 (diff)
downloadgcc-d8cd08d30e0d9bfa02f29493352bac041659df7f.zip
gcc-d8cd08d30e0d9bfa02f29493352bac041659df7f.tar.gz
gcc-d8cd08d30e0d9bfa02f29493352bac041659df7f.tar.bz2
gccrs: TyTy: Variance analysis module
gcc/rust/ChangeLog: * Make-lang.in: Add new .cc file. * rust-session-manager.cc (Session::compile_crate): Run analysis. * typecheck/rust-tyty-variance-analysis-private.h: New file. * typecheck/rust-tyty-variance-analysis.cc: New file. * typecheck/rust-tyty-variance-analysis.h: New file. * typecheck/rust-typecheck-context.cc (TypeCheckContext::get_variance_analysis_ctx): Variance analysis context. * typecheck/rust-hir-type-check.h (TypeCheckItem::visit): Variance analysis context. Signed-off-by: Jakub Dupak <dev@jakubdupak.com>
Diffstat (limited to 'gcc/rust/rust-session-manager.cc')
-rw-r--r--gcc/rust/rust-session-manager.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/rust/rust-session-manager.cc b/gcc/rust/rust-session-manager.cc
index 62c47b2..ea99d01 100644
--- a/gcc/rust/rust-session-manager.cc
+++ b/gcc/rust/rust-session-manager.cc
@@ -48,6 +48,7 @@
#include "rust-attribute-values.h"
#include "rust-borrow-checker.h"
#include "rust-ast-validation.h"
+#include "rust-tyty-variance-analysis.h"
#include "input.h"
#include "selftest.h"
@@ -652,6 +653,8 @@ Session::compile_crate (const char *filename)
// type resolve
Resolver::TypeResolution::Resolve (hir);
+ Resolver::TypeCheckContext::get ()->get_variance_analysis_ctx ().solve ();
+
if (saw_errors ())
return;