title: Can I import super:: from a mod that's inside a fn?
body: <p>I realise that this is an extremely odd thing to do but I'm writing a macro I'd like to be usable in as many places as possible. Take the <a href="https://play.rust-lang.org/?version=stable&amp;mode=debug&amp;edition=2018&amp;gist=2f06853e96bdd94cb028cc9b63bc986b" rel="nofollow noreferrer">following code</a>:</p>
  <pre><code>mod outer {
  
      struct OuterTestStruct {}
      
      fn do_thing() {
  
          struct InnerTestStruct {}
          
          mod inner {
              use super::OuterTestStruct;
              use super::InnerTestStruct;
          }
      }
      
  }
  </code></pre>
  <p>This doesn't compile because of the <code>use super::InnerTestStruct</code> line. But the <code>use super::OuterTestStruct</code> line works fine, so my assumption here is that <code>super</code> skips over the <code>fn</code> context and goes straight to the parent <code>mod</code>.</p>
  <p>Is there any way I can get a reference to <code>InnerTestStruct</code> from inside <code>mod inner</code>? Especially without knowing any context beforehand (i.e. imagine a macro invocation inside <code>fn do_thing()</code>, it isn't going to know it's inside a fn)</p>