lib/AST/RequirementMachine/RewriteLoop.cpp
void RewritePath::invert() {
  std::reverse(Steps.begin(), Steps.end());

  for (auto &step : Steps)
    step.invert();
}
/// Invert a rewrite path, producing a path that rewrites the original path's
/// destination back to the original path's source.
Invert a rewrite path, producing a path that rewrites the original path's
destination back to the original path's source.
Invert a rewrite path producing a path that rewrites the original path ' s destination back to the original path ' s source .
void RewritePath::invert() {
  std::reverse(Steps.begin(), Steps.end());
  for (auto &step : Steps)
    step.invert();
}
void RewritePath :: invert ( ) { std :: reverse ( Steps . begin ( ) , Steps . end ( ) ) ; for ( auto & step : Steps ) step . invert ( ) ; }
Invert a rewrite path, producing a path that rewrites the original path's
destination back to the original path's source.
Invert a rewrite path producing a path that rewrites the original path ' s destination back to the original path ' s source .