title: When does ast.fix_missing_locations change the tree?
body: <p>I am trying to find an example where a <code>visit</code> by a <code>NodeTransformer</code> inheritor will differ from a <code>visit</code> by a <code>NodeTransformer</code> inheritor <strong>and</strong> using <code>fix_missing_locations</code> on the tree.</p>
  <p>Here's an example from the <a href="https://docs.python.org/3.9/library/ast.html#ast.NodeTransformer" rel="nofollow noreferrer">documentation</a> (which for some reason does not work, i.e. the tree does not change, depending on whether we apply <code>fix_missing_locations</code> or not):</p>
  <pre><code>from ast import *
  
  
  class RewriteName(NodeTransformer):
  
      def visit_Name(self, node):
          return Subscript(
              value=Name(id='data', ctx=Load()),
              slice=Constant(value=node.id),
              ctx=node.ctx
          )
  
  
  tree = parse('foo', mode='eval')
  new_tree = fix_missing_locations(RewriteName().visit(tree))
  new_uncorrected_tree = RewriteName().visit(tree)
  
  new_tree_str = dump(new_tree, include_attributes=True)
  new_uncorrected_tree_str = dump(new_uncorrected_tree, include_attributes=True)
  
  print(new_tree_str == new_uncorrected_tree_str)  # True
  </code></pre>