title: How to order documentation comments for a type coming from multiple impl blocks in different modules?
body: <p>I have a struct and its implementation defined in <code>main.rs</code> and complementary implementations defined in other modules:</p>
  
  <pre class="lang-rust prettyprint-override"><code>/// Bla bla.
  pub struct Data {
      val: i32,
  }
  
  /// Primary functions.
  impl Data {
      pub fn new(val: i32) -&gt; Data { Data { val } }
      pub fn get(&amp;self) -&gt; i32 { self.val }
  }
  
  /// FFI doc.
  pub mod ffi {
      use super::Data;
      /// Additional functions for special cases.
      impl Data {
          pub fn adapt(&amp;mut self) { self.val += 1; }
      }
  }
  
  /// Test doc.
  pub mod test {
      use super::Data;
      /// Functions useful for tests.
      impl Data {
          pub fn report(&amp;self) { println!("hello"); }
      }
  }
  </code></pre>
  
  <p>When I generate the doc, the implementation blocks are shown in this order (and unfortunately without showing where the implementation blocks come from):</p>
  
  <pre class="lang-none prettyprint-override"><code>impl Data 
    Additional functions for restricted use.
    pub fn adapt(&amp;mut self)
  
  impl Data
    Functions useful for tests.
    pub fn report(&amp;self)
  
  impl Data
    Primary functions.
    pub fn new(val: i32) -&gt; Data
    pub fn get(&amp;self) -&gt; i32
  </code></pre>
  
  <p>This does not seem alphabetical order of either relative or absolute module names (and it doesn't matter whether the crate name is <code>aaa</code> or <code>zzz</code>). What is the rule?</p>
  
  <p>I would like the "primary" functions defined in the same module as the struct to be first, then the additional ones for specific cases (which are described in the documentation).</p>
  
  <p>Is it possible?</p>