Fix build now that Environment is not copyable

PiperOrigin-RevId: 543671562
diff --git a/nullability/inference/safety_constraint_generator_test.cc b/nullability/inference/safety_constraint_generator_test.cc
index ca0fe44..94db425 100644
--- a/nullability/inference/safety_constraint_generator_test.cc
+++ b/nullability/inference/safety_constraint_generator_test.cc
@@ -101,9 +101,8 @@
     void Target() {}
   )cc";
   EXPECT_THAT(Src, ProducesSafetyConstraints(
-                       [](auto Environment, auto ParamPointerValues) {
-                         return IsEmpty();
-                       }));
+                       [](const dataflow::Environment& Environment,
+                          auto ParamPointerValues) { return IsEmpty(); }));
 }
 
 TEST(SafetyConstraintGenerator, GeneratesNoConstraintsForUnusedParam) {
@@ -111,20 +110,21 @@
     void Target(int* p) {}
   )cc";
   EXPECT_THAT(Src, ProducesSafetyConstraints(
-                       [](auto Environment, auto ParamPointerValues) {
-                         return IsEmpty();
-                       }));
+                       [](const dataflow::Environment& Environment,
+                          auto ParamPointerValues) { return IsEmpty(); }));
 }
 
 TEST(SafetyConstraintGenerator, GeneratesNotIsNullConstraintForDeref) {
   static constexpr llvm::StringRef Src = R"cc(
     void Target(int* p) { *p; }
   )cc";
-  EXPECT_THAT(Src, ProducesSafetyConstraints([](auto Environment,
-                                                auto ParamPointerValues) {
-                return UnorderedElementsAre(&Environment.makeNot(
-                    getPointerNullState(*ParamPointerValues[0]).second));
-              }));
+  EXPECT_THAT(
+      Src,
+      ProducesSafetyConstraints([](const dataflow::Environment& Environment,
+                                   auto ParamPointerValues) {
+        return UnorderedElementsAre(&Environment.makeNot(
+            getPointerNullState(*ParamPointerValues[0]).second));
+      }));
 }
 
 TEST(SafetyConstraintGenerator,
@@ -134,11 +134,13 @@
       if (p == nullptr) *p;
     }
   )cc";
-  EXPECT_THAT(Src, ProducesSafetyConstraints([](auto Environment,
-                                                auto ParamPointerValues) {
-                return UnorderedElementsAre(&Environment.makeNot(
-                    getPointerNullState(*ParamPointerValues[0]).second));
-              }));
+  EXPECT_THAT(
+      Src,
+      ProducesSafetyConstraints([](const dataflow::Environment& Environment,
+                                   auto ParamPointerValues) {
+        return UnorderedElementsAre(&Environment.makeNot(
+            getPointerNullState(*ParamPointerValues[0]).second));
+      }));
 }
 
 TEST(SafetyConstraintGenerator, GeneratesConstraintsForAllParams) {
@@ -149,7 +151,8 @@
       *r;
     }
   )cc";
-  EXPECT_THAT(Src, ProducesSafetyConstraints([](auto Environment,
+  EXPECT_THAT(Src, ProducesSafetyConstraints([](const dataflow::Environment&
+                                                    Environment,
                                                 auto ParamPointerValues) {
                 return UnorderedElementsAre(
                     &Environment.makeNot(
@@ -169,9 +172,8 @@
     }
   )cc";
   EXPECT_THAT(Src, ProducesSafetyConstraints(
-                       [](auto Environment, auto ParamPointerValues) {
-                         return IsEmpty();
-                       }));
+                       [](const dataflow::Environment& Environment,
+                          auto ParamPointerValues) { return IsEmpty(); }));
 }
 
 TEST(SafetyConstraintGenerator,
@@ -184,11 +186,13 @@
       p = getPtr();
     }
   )cc";
-  EXPECT_THAT(Src, ProducesSafetyConstraints([](auto Environment,
-                                                auto ParamPointerValues) {
-                return UnorderedElementsAre(&Environment.makeNot(
-                    getPointerNullState(*ParamPointerValues[0]).second));
-              }));
+  EXPECT_THAT(
+      Src,
+      ProducesSafetyConstraints([](const dataflow::Environment& Environment,
+                                   auto ParamPointerValues) {
+        return UnorderedElementsAre(&Environment.makeNot(
+            getPointerNullState(*ParamPointerValues[0]).second));
+      }));
 }
 
 TEST(SafetyConstraintGenerator,
@@ -203,7 +207,8 @@
   )cc";
   EXPECT_THAT(
       Src,
-      ProducesSafetyConstraints([](auto Environment, auto ParamPointerValues) {
+      ProducesSafetyConstraints([](const dataflow::Environment& Environment,
+                                   auto ParamPointerValues) {
         return AllOf(SizeIs(1),
                      // TODO(b/268440048) Figure out how to access and assert
                      // equality for the constraint that this is.
diff --git a/nullability/pointer_nullability_analysis_test.cc b/nullability/pointer_nullability_analysis_test.cc
index 8c4d8aa..f3467a9 100644
--- a/nullability/pointer_nullability_analysis_test.cc
+++ b/nullability/pointer_nullability_analysis_test.cc
@@ -6,9 +6,9 @@
 
 #include <memory>
 #include <optional>
+#include <utility>
 
 #include "nullability/pointer_nullability.h"
-#include "nullability/pointer_nullability_lattice.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclBase.h"
 #include "clang/Analysis/CFG.h"
@@ -16,7 +16,6 @@
 #include "clang/Analysis/FlowSensitive/DataflowAnalysis.h"
 #include "clang/Analysis/FlowSensitive/DataflowAnalysisContext.h"
 #include "clang/Analysis/FlowSensitive/DataflowEnvironment.h"
-#include "clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h"
 #include "clang/Analysis/FlowSensitive/Value.h"
 #include "clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h"
 #include "clang/Basic/LLVM.h"
@@ -64,10 +63,10 @@
   auto CFCtx = dataflow::ControlFlowContext::build(*Target);
   PointerNullabilityAnalysis Analysis(AST.context());
   auto [PNonnull, PNullable] = Analysis.assignNullabilityVariable(P, A);
-  auto ExitState =
+  auto ExitState = std::move(
       *cantFail(dataflow::runDataflowAnalysis(
                     *CFCtx, Analysis, dataflow::Environment(DACtx, *Target)))
-           .front();
+           .front());
   // Get the nullability model of the return value.
   auto *Ret =
       dyn_cast_or_null<dataflow::PointerValue>(ExitState.Env.getReturnValue());