From: Matthias Maier <tamiko@43-1.org>
Date: Thu, 3 May 2018 03:02:49 +0000 (-0500)
Subject: a short drive-by fixing
X-Git-Tag: v9.0.0-rc1~28^2~4
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80d60b14d1f8e23dd841171b6f28acba6ac934a0;p=dealii.git

a short drive-by fixing
---

diff --git a/include/deal.II/lac/linear_operator.h b/include/deal.II/lac/linear_operator.h
index 54ab1370f5..874d795d5a 100644
--- a/include/deal.II/lac/linear_operator.h
+++ b/include/deal.II/lac/linear_operator.h
@@ -792,18 +792,8 @@ template <typename Range, typename Domain, typename Payload>
 LinearOperator<Range, Domain, Payload>
 identity_operator(const LinearOperator<Range, Domain, Payload> &op)
 {
-  const LinearOperator<Range, Domain, Payload> id_op
-    = identity_operator<Range,Payload>(op.reinit_range_vector);
-  LinearOperator<Range, Domain, Payload> return_op (
-    op.identity_payload()
-  );
-
-  return_op.reinit_range_vector = id_op.reinit_range_vector;
-  return_op.reinit_domain_vector = id_op.reinit_domain_vector;
-  return_op.vmult = id_op.vmult;
-  return_op.vmult_add = id_op.vmult_add;
-  return_op.Tvmult = id_op.Tvmult;
-  return_op.Tvmult_add = id_op.Tvmult_add;
+  auto return_op = identity_operator<Range, Payload>(op.reinit_range_vector);
+  static_cast<Payload &>(return_op) = op.identity_payload();
 
   return return_op;
 }