@@ -83,7 +83,7 @@ template <typename A> bool IsAssumedRank(const Designator<A> &designator) {
8383 }
8484}
8585template <typename T> bool IsAssumedRank (const Expr<T> &expr) {
86- return common ::visit ([](const auto &x) { return IsAssumedRank (x); }, expr.u );
86+ return std ::visit ([](const auto &x) { return IsAssumedRank (x); }, expr.u );
8787}
8888template <typename A> bool IsAssumedRank (const std::optional<A> &x) {
8989 return x && IsAssumedRank (*x);
@@ -100,7 +100,7 @@ template <typename A> bool IsCoarray(const Designator<A> &designator) {
100100 return false ;
101101}
102102template <typename T> bool IsCoarray (const Expr<T> &expr) {
103- return common ::visit ([](const auto &x) { return IsCoarray (x); }, expr.u );
103+ return std ::visit ([](const auto &x) { return IsCoarray (x); }, expr.u );
104104}
105105template <typename A> bool IsCoarray (const std::optional<A> &x) {
106106 return x && IsCoarray (*x);
@@ -177,11 +177,11 @@ auto UnwrapExpr(B &x) -> common::Constify<A, B> * {
177177 return UnwrapExpr<A>(*expr);
178178 }
179179 } else if constexpr (std::is_same_v<Ty, Expr<SomeType>>) {
180- return common ::visit ([](auto &x) { return UnwrapExpr<A>(x); }, x.u );
180+ return std ::visit ([](auto &x) { return UnwrapExpr<A>(x); }, x.u );
181181 } else if constexpr (!common::HasMember<A, TypelessExpression>) {
182182 if constexpr (std::is_same_v<Ty, Expr<ResultType<A>>> ||
183183 std::is_same_v<Ty, Expr<SomeKind<ResultType<A>::category>>>) {
184- return common ::visit ([](auto &x) { return UnwrapExpr<A>(x); }, x.u );
184+ return std ::visit ([](auto &x) { return UnwrapExpr<A>(x); }, x.u );
185185 }
186186 }
187187 return nullptr ;
@@ -217,17 +217,15 @@ auto UnwrapConvertedExpr(B &x) -> common::Constify<A, B> * {
217217 return UnwrapConvertedExpr<A>(*expr);
218218 }
219219 } else if constexpr (std::is_same_v<Ty, Expr<SomeType>>) {
220- return common::visit (
221- [](auto &x) { return UnwrapConvertedExpr<A>(x); }, x.u );
220+ return std::visit ([](auto &x) { return UnwrapConvertedExpr<A>(x); }, x.u );
222221 } else if constexpr (!common::HasMember<A, TypelessExpression>) {
223222 using Result = ResultType<A>;
224223 if constexpr (std::is_same_v<Ty, Expr<Result>> ||
225224 std::is_same_v<Ty, Expr<SomeKind<Result::category>>>) {
226- return common::visit (
227- [](auto &x) { return UnwrapConvertedExpr<A>(x); }, x.u );
225+ return std::visit ([](auto &x) { return UnwrapConvertedExpr<A>(x); }, x.u );
228226 } else if constexpr (std::is_same_v<Ty, Parentheses<Result>> ||
229227 std::is_same_v<Ty, Convert<Result, Result::category>>) {
230- return common ::visit (
228+ return std ::visit (
231229 [](auto &x) { return UnwrapConvertedExpr<A>(x); }, x.left ().u );
232230 }
233231 }
@@ -264,7 +262,7 @@ common::IfNoLvalue<std::optional<DataRef>, A> ExtractDataRef(
264262template <typename T>
265263std::optional<DataRef> ExtractDataRef (
266264 const Designator<T> &d, bool intoSubstring = false ) {
267- return common ::visit (
265+ return std ::visit (
268266 [=](const auto &x) -> std::optional<DataRef> {
269267 if constexpr (common::HasMember<decltype (x), decltype (DataRef::u)>) {
270268 return DataRef{x};
@@ -281,7 +279,7 @@ std::optional<DataRef> ExtractDataRef(
281279template <typename T>
282280std::optional<DataRef> ExtractDataRef (
283281 const Expr<T> &expr, bool intoSubstring = false ) {
284- return common ::visit (
282+ return std ::visit (
285283 [=](const auto &x) { return ExtractDataRef (x, intoSubstring); }, expr.u );
286284}
287285template <typename A>
@@ -330,7 +328,7 @@ bool IsArrayElement(const Expr<T> &expr, bool intoSubstring = true,
330328template <typename A>
331329std::optional<NamedEntity> ExtractNamedEntity (const A &x) {
332330 if (auto dataRef{ExtractDataRef (x, true )}) {
333- return common ::visit (
331+ return std ::visit (
334332 common::visitors{
335333 [](SymbolRef &&symbol) -> std::optional<NamedEntity> {
336334 return NamedEntity{symbol};
@@ -356,10 +354,10 @@ struct ExtractCoindexedObjectHelper {
356354 std::optional<CoarrayRef> operator ()(const CoarrayRef &x) const { return x; }
357355 template <typename A>
358356 std::optional<CoarrayRef> operator ()(const Expr<A> &expr) const {
359- return common ::visit (*this , expr.u );
357+ return std ::visit (*this , expr.u );
360358 }
361359 std::optional<CoarrayRef> operator ()(const DataRef &dataRef) const {
362- return common ::visit (*this , dataRef.u );
360+ return std ::visit (*this , dataRef.u );
363361 }
364362 std::optional<CoarrayRef> operator ()(const NamedEntity &named) const {
365363 if (const Component * component{named.UnwrapComponent ()}) {
@@ -451,7 +449,7 @@ Expr<TO> ConvertToType(Expr<SomeKind<FROMCAT>> &&x) {
451449 ConvertToType<Part>(std::move (x)), Expr<Part>{Constant<Part>{zero}}}};
452450 } else if constexpr (FROMCAT == TypeCategory::Complex) {
453451 // Extract and convert the real component of a complex value
454- return common ::visit (
452+ return std ::visit (
455453 [&](auto &&z) {
456454 using ZType = ResultType<decltype (z)>;
457455 using Part = typename ZType::Part;
@@ -505,7 +503,7 @@ common::IfNoLvalue<Expr<Type<TC, TK>>, FROM> ConvertTo(
505503template <TypeCategory TC, typename FROM>
506504common::IfNoLvalue<Expr<SomeKind<TC>>, FROM> ConvertTo (
507505 const Expr<SomeKind<TC>> &to, FROM &&from) {
508- return common ::visit (
506+ return std ::visit (
509507 [&](const auto &toKindExpr) {
510508 using KindExpr = std::decay_t <decltype (toKindExpr)>;
511509 return AsCategoryExpr (
@@ -517,7 +515,7 @@ common::IfNoLvalue<Expr<SomeKind<TC>>, FROM> ConvertTo(
517515template <typename FROM>
518516common::IfNoLvalue<Expr<SomeType>, FROM> ConvertTo (
519517 const Expr<SomeType> &to, FROM &&from) {
520- return common ::visit (
518+ return std ::visit (
521519 [&](const auto &toCatExpr) {
522520 return AsGenericExpr (ConvertTo (toCatExpr, std::move (from)));
523521 },
@@ -567,7 +565,7 @@ using SameKindExprs =
567565template <TypeCategory CAT>
568566SameKindExprs<CAT, 2 > AsSameKindExprs (
569567 Expr<SomeKind<CAT>> &&x, Expr<SomeKind<CAT>> &&y) {
570- return common ::visit (
568+ return std ::visit (
571569 [&](auto &&kx, auto &&ky) -> SameKindExprs<CAT, 2 > {
572570 using XTy = ResultType<decltype (kx)>;
573571 using YTy = ResultType<decltype (ky)>;
@@ -628,7 +626,7 @@ Expr<SPECIFIC> Combine(Expr<SPECIFIC> &&x, Expr<SPECIFIC> &&y) {
628626template <template <typename > class OPR , TypeCategory CAT>
629627Expr<SomeKind<CAT>> PromoteAndCombine (
630628 Expr<SomeKind<CAT>> &&x, Expr<SomeKind<CAT>> &&y) {
631- return common ::visit (
629+ return std ::visit (
632630 [](auto &&xy) {
633631 using Ty = ResultType<decltype (xy[0 ])>;
634632 return AsCategoryExpr (
@@ -729,7 +727,7 @@ Expr<Type<C, K>> operator/(Expr<Type<C, K>> &&x, Expr<Type<C, K>> &&y) {
729727}
730728
731729template <TypeCategory C> Expr<SomeKind<C>> operator -(Expr<SomeKind<C>> &&x) {
732- return common ::visit (
730+ return std ::visit (
733731 [](auto &xk) { return Expr<SomeKind<C>>{-std::move (xk)}; }, x.u );
734732}
735733
@@ -874,7 +872,7 @@ std::optional<BaseObject> GetBaseObject(const Designator<T> &x) {
874872}
875873template <typename T>
876874std::optional<BaseObject> GetBaseObject (const Expr<T> &x) {
877- return common ::visit ([](const auto &y) { return GetBaseObject (y); }, x.u );
875+ return std ::visit ([](const auto &y) { return GetBaseObject (y); }, x.u );
878876}
879877template <typename A>
880878std::optional<BaseObject> GetBaseObject (const std::optional<A> &x) {
@@ -1014,8 +1012,7 @@ class ScalarConstantExpander {
10141012 return Expand (std::move (x.left ())); // Constant<> can be parenthesized
10151013 }
10161014 template <typename T> Expr<T> Expand (Expr<T> &&x) {
1017- return common::visit (
1018- [&](auto &&x) { return Expr<T>{Expand (std::move (x))}; },
1015+ return std::visit ([&](auto &&x) { return Expr<T>{Expand (std::move (x))}; },
10191016 std::move (x.u ));
10201017 }
10211018
0 commit comments