<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 1/10/19 5:17 PM, Ben Craig wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BL0PR04MB46094EEB9F213D376A3348958B840@BL0PR04MB4609.namprd04.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1366711361;
        mso-list-template-ids:-975897992;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Can you elaborate more on the kinds of
          historical pains caused by tying a #include directive to a
          file name?  I know of issues with #pragma once, but that feels
          like a distinct problem from file names.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">&gt; This is based on decades of experience
          caused by header files. <o:p></o:p></p>
        <p class="MsoNormal">I think most of the participants in wg21
          have years, often decades of experience with header files.  I
          know of plenty of issues with the preprocessor, but I am not
          yet aware of any major problems on the file name front.  (ok,
          getting the right slashes can be annoying… but it’s not a huge
          problem for me personally).<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I’m not a fan of the MANIFEST / module map
          approach in general.  It requires duplicating information that
          is already in the source.  I get that it has the potential to
          speed up builds, but I’d rather not have to update another
          location when I add a new .cpp file to my project.  Many build
          systems allow for the user to make the tradeoff in whether
          they will use a file system glob to enumerate their source, or
          require the user to list the source manually.  I usually fall
          into the file system glob crowd.</p>
      </div>
    </blockquote>
    <p>The manifest file could be generated (based on information in
      source code) and usable by multiple tools, IDEs, and build
      systems.  It need not be a statically maintained file.  I like
      this approach because it appropriately separates the steps of
      identifying/building the module name/file map vs using the module
      name/file map (most tools don't want to be build systems).<br>
    </p>
    <p>Tom.<br>
    </p>
    <blockquote type="cite"
cite="mid:BL0PR04MB46094EEB9F213D376A3348958B840@BL0PR04MB4609.namprd04.prod.outlook.com">
      <div class="WordSection1">
        <p class="MsoNormal"><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0in
          0in 0in 4.0pt">
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b>From:</b>
                <a class="moz-txt-link-abbreviated" href="mailto:tooling-bounces@open-std.org">tooling-bounces@open-std.org</a>
                <a class="moz-txt-link-rfc2396E" href="mailto:tooling-bounces@open-std.org">&lt;tooling-bounces@open-std.org&gt;</a>
                <b>On Behalf Of </b>Gabriel Dos Reis<br>
                <b>Sent:</b> Thursday, January 10, 2019 3:15 PM<br>
                <b>To:</b> WG21 Tooling Study Group SG15
                <a class="moz-txt-link-rfc2396E" href="mailto:tooling@open-std.org">&lt;tooling@open-std.org&gt;</a><br>
                <b>Subject:</b> Re: [Tooling] Modules naming<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Microsoft strongly encourages its
            developers and customers to NOT tie a module name with the
            containing source file of its interface.  This is based on
            decades of experience caused by header files.  I would
            rather see us move in the direction of some sort of MANIFEST
            file that map modules to source files and artifacts.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div style="border:none;border-left:solid blue
            1.5pt;padding:0in 0in 0in 4.0pt">
            <div>
              <div style="border:none;border-top:solid #E1E1E1
                1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal"><b>From:</b> <a
                    href="mailto:tooling-bounces@open-std.org"
                    moz-do-not-send="true">tooling-bounces@open-std.org</a>
                  &lt;<a href="mailto:tooling-bounces@open-std.org"
                    moz-do-not-send="true">tooling-bounces@open-std.org</a>&gt;
                  <b>On Behalf Of </b>Corentin<br>
                  <b>Sent:</b> Thursday, January 10, 2019 6:53 AM<br>
                  <b>To:</b> WG21 Tooling Study Group SG15 &lt;<a
                    href="mailto:tooling@open-std.org"
                    moz-do-not-send="true">tooling@open-std.org</a>&gt;<br>
                  <b>Subject:</b> [Tooling] Modules naming<o:p></o:p></p>
              </div>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <div>
              <p class="MsoNormal">Hello.<o:p></o:p></p>
              <div>
                <p class="MsoNormal">I would like to suggest two modules
                  related proposals that I think SG15 should look at.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">-<b> Compiler enforced mapping
                    between module names and module interface file
                    (resource) name. </b><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Currently, modules interfaces can
                  be declared in any file - which makes dependency
                  scanning more tedious than it needs to be and have
                  performance implications<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">(The build system needs to open all
                  files to gather a list of modules) - notably when the
                  build system tries to start building while the
                  dependency graph isn't yet complete.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Tools ( ide, code servers,
                  indexers, refactoring) may also greatly benefit from
                  an easier way to locate the source file which declares
                  a module.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The specifics of the mapping are
                  open to bikeshedding. However, I think we would have
                  better luck sticking to something simple like
                  &lt;module identifier&gt; &lt;=&gt; &lt;file
                  name&gt;.&lt;extension&gt;<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">(The standardese would mention <i>resource
                    identifier</i> rather than filename)<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">- <b>A standing document giving
                    guidelines for modules naming.</b><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The goal is to take everything the
                  community had to learn the hard way about header
                  naming over the past 30 years and apply it to modules
                  by providing a set of guidelines<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">that could be partially enforced by
                  build system vendors.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Encouraging consistency and
                  uniqueness of module identifiers across the industry
                  is I think a necessary step towards sane package
                  management.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Note that the standard requires
                  uniqueness of modules identifiers within (the standard
                  definition of) a program but says little about a way
                  to ensure this uniqueness.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Here is a rough draft of what I
                  think would be good guidelines, partially inspired by
                  what is done by other languages facing similar issues.<o:p></o:p></p>
              </div>
              <div>
                <div>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Prefix module
                        names with an entity and/or a project name to
                        prevent modules from different companies,
                        entities and projects of declaring the same
                        module names.</span></b><span
                      style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Exported top-level
                        namespaces should have a name identic to the
                        project name used as part of the name of the
                        module(s) from which it is exported.</span></b><span
style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Do not export
                        multiple top-level namespaces</span></b><span
                      style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Do not export
                        entities in the global namespace outside of the
                        global module fragment.</span></b><span
                      style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Organize modules
                        hierarchically.</span></b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#42464C"> For
                      example, if both modules </span><code><span
                        style="font-size:10.0pt;color:#42464C;border:none
                        windowtext 1.0pt;padding:0in">example.foo</span></code><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#42464C"> and </span><code><span
style="font-size:10.0pt;color:#42464C;border:none windowtext
                        1.0pt;padding:0in">example.foo.bar</span></code><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#42464C"> exist
                      as part of the public API of </span><code><span
                        style="font-size:10.0pt;color:#42464C;border:none
                        windowtext 1.0pt;padding:0in">example</span></code><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#42464C">, </span><code><span
style="font-size:10.0pt;color:#42464C;border:none windowtext
                        1.0pt;padding:0in">example.foo</span></code><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#42464C"> should
                      reexport </span><code><span
                        style="font-size:10.0pt;color:#42464C;border:none
                        windowtext 1.0pt;padding:0in">example.foo.bar</span></code><span
style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Avoid common names
                        such as </span></b><code><span
                        style="font-size:10.0pt;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">util</span></code><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in"> and </span></b><code><span
style="font-size:10.0pt;color:#222324;border:none windowtext
                        1.0pt;padding:0in">core</span></code><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in"> for module name
                        prefix and top-level namespace names.</span></b><span
style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Use lower-case
                        module names</span></b><span
                      style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                  <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:24.0pt;margin-bottom:0in;margin-left:24.0pt;margin-bottom:.0001pt;text-indent:-.25in;mso-list:l0
                    level1 lfo2;vertical-align:baseline">
                    <!--[if !supportLists]--><span
                      style="font-size:10.0pt;font-family:Symbol;color:#42464C"><span
                        style="mso-list:Ignore">·<span style="font:7.0pt
                          &quot;Times New Roman&quot;">        
                        </span></span></span><!--[endif]--><b><span
style="font-size:7.5pt;font-family:&quot;Arial&quot;,sans-serif;color:#222324;border:none
                        windowtext 1.0pt;padding:0in">Do not use
                        characters outside of the basic source character
                        set in module name identifiers.</span></b><span
style="font-family:&quot;Arial&quot;,sans-serif;color:#42464C"><o:p></o:p></span></p>
                </div>
              </div>
              <div>
                <p class="MsoNormal">My hope is that these 2 proposals
                  (whose impact on the standard is minimal) would make
                  it easier for current tooling to deal with modules<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">while making possible for example
                  to design dependency managers and build systems able
                  to work at the module level.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">I'd love to gather feedback and
                  opinions before going further in that direction.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Thanks a lot!<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">Corentin<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">PS: For a bit of background, I
                  talked about these issues there<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><a
href="https://urldefense.proofpoint.com/v2/url?u=https-3A__nam06.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fcor3ntin.github.io-252Fposts-252Fmodules-5Fmapping-252F-26data-3D02-257C01-257Cgdr-2540microsoft.com-257C1139eb25a2ca43b5cb2e08d6770b6606-257C72f988bf86f141af91ab2d7cd011db47-257C1-257C0-257C636827288180838903-26sdata-3DRbCelyBe1YDW4eNJtYEgKkAeHGxvkhsYqzPk0wf3F58-253D-26reserved-3D0&amp;d=DwMGaQ&amp;c=I_0YwoKy7z5LMTVdyO6YCiE2uzI1jjZZuIPelcSjixA&amp;r=y8mub81SfUi-UCZRX0Vl1g&amp;m=Yv6fjy4yWnfBkW_0m604prnwiQIO5K6DRLBHMjpiaxI&amp;s=v7Z40T9WgivvxWUJ6plSphOw4d8bdvfEz9NAqCruKwE&amp;e="
                    moz-do-not-send="true">https://cor3ntin.github.io/posts/modules_mapping/</a><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><a
href="https://urldefense.proofpoint.com/v2/url?u=https-3A__nam06.safelinks.protection.outlook.com_-3Furl-3Dhttps-253A-252F-252Fcor3ntin.github.io-252Fposts-252Fmodules-5Fnaming-252F-26data-3D02-257C01-257Cgdr-2540microsoft.com-257C1139eb25a2ca43b5cb2e08d6770b6606-257C72f988bf86f141af91ab2d7cd011db47-257C1-257C0-257C636827288180838903-26sdata-3DtMhQa4ijeqUd2qxXV4loP47nU5NESRTKJLwZqe-252FI1fc-253D-26reserved-3D0&amp;d=DwMGaQ&amp;c=I_0YwoKy7z5LMTVdyO6YCiE2uzI1jjZZuIPelcSjixA&amp;r=y8mub81SfUi-UCZRX0Vl1g&amp;m=Yv6fjy4yWnfBkW_0m604prnwiQIO5K6DRLBHMjpiaxI&amp;s=O9uUoT3QItO0vkb2QTG-EnXjsGfOiq7t93GgFz4YHx8&amp;e="
                    moz-do-not-send="true">https://cor3ntin.github.io/posts/modules_naming/</a><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Tooling mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Tooling@isocpp.open-std.org">Tooling@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/tooling">http://www.open-std.org/mailman/listinfo/tooling</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>