"Fossies" - the Fresh Open Source Software Archive

Member "dmd2/html/d/changelog/2.091.0.html" (20 Nov 2020, 53620 Bytes) of package /linux/misc/dmd.2.094.2.linux.tar.xz:


The requested HTML page contains a <FORM> tag that is unusable on "Fossies" in "automatic" (rendered) mode so that page is shown as HTML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 
    2 <!DOCTYPE html>
    3 <html lang="en-US">
    4 <!--
    5     Copyright (c) 1999-2020 by the D Language Foundation
    6     All Rights Reserved.
    7     https://dlang.org/foundation_overview.html
    8   -->
    9 <head>
   10 <meta charset="utf-8">
   11 <meta name="keywords" content="D programming language">
   12 <meta name="description" content="D Programming Language">
   13 <title>Change Log: 2.091.0 - D Programming Language</title>
   14 
   15 <link rel="stylesheet" href="../css/codemirror.css">
   16 <link rel="stylesheet" href="../css/style.css">
   17 <link rel="stylesheet" href="../css/print.css" media="print">
   18 <link rel="shortcut icon" href="../favicon.ico">
   19 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.1, maximum-scale=10.0">
   20 
   21 </head>
   22 <body id='Change Log: 2.091.0' class='changelog'>
   23 <script type="text/javascript">document.body.className += ' have-javascript'</script>
   24 <div id="top"><div class="helper"><div class="helper expand-container">    <div class="logo"><a href=".."><img id="logo" alt="D Logo" src="../images/dlogo.svg"></a></div>
   25     <a href="../menu.html" title="Menu" class="hamburger expand-toggle"><span>Menu</span></a>
   26     
   27 <div id="cssmenu"><ul>    <li><a href='https://tour.dlang.org'><span>Learn</span></a></li>
   28     <li class='expand-container'><a class='expand-toggle' href='../documentation.html'><span>Documentation</span></a>
   29       
   30 <ul class='expand-content'>    <li><a href='../spec/spec.html'>Language Reference</a></li>
   31     <li><a href='../phobos/index.html'>Library Reference</a></li>
   32     <li><a href='../dmd.html'>Command-line Reference</a></li>
   33     <li class="menu-divider"><a href='../comparison.html'>Feature Overview</a></li>
   34     <li><a href='../articles.html'>Articles</a></li>
   35  </ul></li>
   36     <li><a href='../download.html'><span>Downloads</span></a></li>
   37     <li><a href='https://code.dlang.org'><span>Packages</span></a></li>
   38     <li class='expand-container'><a class='expand-toggle' href='../community.html'><span>Community</span></a>
   39       
   40 <ul class='expand-content'>    <li><a href='https://dlang.org/blog'>Blog</a></li>
   41     <li><a href='../orgs-using-d.html'>Orgs using D</a></li>
   42     <li><a href='https://twitter.com/search?q=%23dlang'>Twitter</a></li>
   43     <li><a href='../calendar.html'>Calendar</a></li>
   44     <li class="menu-divider"><a href='https://forum.dlang.org'>Forums</a></li>
   45     <li><a href='irc://irc.freenode.net/d'>IRC</a></li>
   46     <li><a href='https://discord.gg/bMZk9Q4'>Community Discord</a></li>
   47     <li><a href='https://wiki.dlang.org'>Wiki</a></li>
   48     <li class="menu-divider"><a href='https://github.com/dlang'>GitHub</a></li>
   49     <li><a href='../bugstats.html'>Issues</a></li>
   50     <li><a href='https://wiki.dlang.org/Get_involved'>Get involved</a></li>
   51     <li class="menu-divider"><a href='../foundation/contributors.html'>Contributors</a></li>
   52     <li><a href='../foundation/index.html'>Foundation</a></li>
   53     <li><a href='..//security.html'>Security Team</a></li>
   54     <li><a href='../foundation/donate.html'>Donate</a></li>
   55     <li><a href='../foundation/sponsors.html'>Sponsors</a></li>
   56  </ul></li>
   57     <li class='expand-container'><a class='expand-toggle' href='../resources.html'><span>Resources</span></a>
   58       
   59 <ul class='expand-content'>    <li><a href='https://tour.dlang.org'>Tour</a></li>
   60     <li><a href='https://wiki.dlang.org/Books'>Books</a></li>
   61     <li><a href='https://wiki.dlang.org/Tutorials'>Tutorials</a></li>
   62     <li class="menu-divider"><a href='https://wiki.dlang.org/Development_tools'>Tools</a></li>
   63     <li><a href='https://wiki.dlang.org/Editors'>Editors</a></li>
   64     <li><a href='https://wiki.dlang.org/IDEs'>IDEs</a></li>
   65     <li><a href='https://run.dlang.io'>run.dlang.io</a></li>
   66     <li><a href='http://rainers.github.io/visuald/visuald/StartPage.html'>Visual D</a></li>
   67     <li class="menu-divider"><a href='../acknowledgements.html'>Acknowledgments</a></li>
   68     <li><a href='../dstyle.html'>D Style</a></li>
   69     <li><a href='../glossary.html'>Glossary</a></li>
   70     <li><a href='../sitemap.html'>Sitemap</a></li>
   71  </ul></li>
   72 </ul></div>
   73     <div class="search-container expand-container">        <a href="../search.html" class="expand-toggle" title="Search"><span>Search</span></a>
   74         
   75     <div id="search-box">        <form method="get" action="https://google.com/search">
   76             <input type="hidden" id="domains" name="domains" value="dlang.org">
   77             <input type="hidden" id="sourceid" name="sourceid" value="google-search">
   78             <span id="search-query"><input id="q" name="q" placeholder="Search"></span><span id="search-dropdown"><span class="helper">                <select id="sitesearch" name="sitesearch" size="1">
   79                     <option value="dlang.org">Entire Site</option>
   80                     <option  value="dlang.org/spec">Language</option>
   81                     <option  value="dlang.org/phobos">Library</option>
   82                     <option  value="forum.dlang.org">Forums</option>
   83                     <option value="dlang.org/changelog" selected>Change
   84 Log</option>
   85                 </select>
   86             </span></span><span id="search-submit"><button type="submit"><i class="fa fa-search"></i><span>go</span></button></span>
   87         </form>
   88     </div>
   89     </div>
   90 </div></div></div>
   91 
   92 <div class="container">    <div class="subnav-helper"></div> <div class="subnav">    
   93     <div class="head">        <h2>Change Log</h2>
   94         <p>        <a href="../changelog/index.html">List of all versions</a>
   95         <br>
   96         <a href="../changelog/release-schedule.html">Release schedule</a>
   97     </p>
   98     </div>
   99     <ul><li><a id="pending" href="pending.html">Nightly</a> <span class="hide-from-nav"> (preview) - upcoming changes from <span class="d_inlinecode donthyphenate notranslate">master</span></span></li>
  100 <li><a id="2.094.2" href="2.094.2.html">2.094.2</a><span class="hide-from-nav"> (Nov 20, 2020)</span></li>
  101 <li><a id="2.094.1" href="2.094.1.html">2.094.1</a><span class="hide-from-nav"> (Oct 18, 2020)</span></li>
  102 <li><a id="2.094.0" href="2.094.0.html">2.094.0</a><span class="hide-from-nav"> (Sep 22, 2020)</span></li>
  103 <li><a id="2.093.1" href="2.093.1.html">2.093.1</a><span class="hide-from-nav"> (Aug 15, 2020)</span></li>
  104 <li><a id="2.093.0" href="2.093.0.html">2.093.0</a><span class="hide-from-nav"> (Jul 07, 2020)</span></li>
  105 <li><a id="2.092.1" href="2.092.1.html">2.092.1</a><span class="hide-from-nav"> (Jun 10, 2020)</span></li>
  106 <li><a id="2.092.0" href="2.092.0.html">2.092.0</a><span class="hide-from-nav"> (May 10, 2020)</span></li>
  107 <li><a id="2.091.1" href="2.091.1.html">2.091.1</a><span class="hide-from-nav"> (Apr 17, 2020)</span></li>
  108 <li><a id="2.091.0" href="2.091.0.html">2.091.0</a><span class="hide-from-nav"> (Mar 08, 2020)</span></li>
  109 <li><a id="2.090.1" href="2.090.1.html">2.090.1</a><span class="hide-from-nav"> (Feb 06, 2020)</span></li>
  110 <li><a id="2.090.0" href="2.090.0.html">2.090.0</a><span class="hide-from-nav"> (Jan 05, 2020)</span></li>
  111 <li><a id="2.089.1" href="2.089.1.html">2.089.1</a><span class="hide-from-nav"> (Dec 14, 2019)</span></li>
  112 <li><a id="2.089.0" href="2.089.0.html">2.089.0</a><span class="hide-from-nav"> (Nov 02, 2019)</span></li>
  113 <li><a id="2.088.1" href="2.088.1.html">2.088.1</a><span class="hide-from-nav"> (Oct 11, 2019)</span></li>
  114 <li><a id="2.088.0" href="2.088.0.html">2.088.0</a><span class="hide-from-nav"> (Sep 01, 2019)</span></li>
  115 <li><a id="2.087.1" href="2.087.1.html">2.087.1</a><span class="hide-from-nav"> (Aug 04, 2019)</span></li>
  116 <li><a id="2.087.0" href="2.087.0.html">2.087.0</a><span class="hide-from-nav"> (Jul 01, 2019)</span></li>
  117 <li><a id="2.086.1" href="2.086.1.html">2.086.1</a><span class="hide-from-nav"> (Jun 15, 2019)</span></li>
  118 <li><a id="2.086.0" href="2.086.0.html">2.086.0</a><span class="hide-from-nav"> (May 04, 2019)</span></li>
  119 <li><a id="2.085.1" href="2.085.1.html">2.085.1</a><span class="hide-from-nav"> (Apr 05, 2019)</span></li>
  120 <li><a id="2.085.0" href="2.085.0.html">2.085.0</a><span class="hide-from-nav"> (Mar 01, 2019)</span></li>
  121 <li><a id="2.084.1" href="2.084.1.html">2.084.1</a><span class="hide-from-nav"> (Feb 09, 2019)</span></li>
  122 <li><a id="2.084.0" href="2.084.0.html">2.084.0</a><span class="hide-from-nav"> (Jan 01, 2019)</span></li>
  123 <li><a id="2.083.1" href="2.083.1.html">2.083.1</a><span class="hide-from-nav"> (Dec 08, 2018)</span></li>
  124 <li><a id="2.083.0" href="2.083.0.html">2.083.0</a><span class="hide-from-nav"> (Nov 01, 2018)</span></li>
  125 <li><a id="2.082.1" href="2.082.1.html">2.082.1</a><span class="hide-from-nav"> (Oct 10, 2018)</span></li>
  126 <li><a id="2.082.0" href="2.082.0.html">2.082.0</a><span class="hide-from-nav"> (Sep 01, 2018)</span></li>
  127 <li><a id="2.081.2" href="2.081.2.html">2.081.2</a><span class="hide-from-nav"> (Aug 12, 2018)</span></li>
  128 <li><a id="2.081.1" href="2.081.1.html">2.081.1</a><span class="hide-from-nav"> (Jul 10, 2018)</span></li>
  129 <li><a id="2.081.0" href="2.081.0.html">2.081.0</a><span class="hide-from-nav"> (Jul 01, 2018)</span></li>
  130 <li><a id="2.080.1" href="2.080.1.html">2.080.1</a><span class="hide-from-nav"> (Jun 07, 2018)</span></li>
  131 <li><a id="2.080.0" href="2.080.0.html">2.080.0</a><span class="hide-from-nav"> (May 01, 2018)</span></li>
  132 <li><a id="2.079.1" href="2.079.1.html">2.079.1</a><span class="hide-from-nav"> (Apr 14, 2018)</span></li>
  133 <li><a id="2.079.0" href="2.079.0.html">2.079.0</a><span class="hide-from-nav"> (Mar 01, 2018)</span></li>
  134 <li><a id="2.078.3" href="2.078.3.html">2.078.3</a><span class="hide-from-nav"> (Feb 15, 2018)</span></li>
  135 <li><a id="2.078.2" href="2.078.2.html">2.078.2</a><span class="hide-from-nav"> (Feb 07, 2018)</span></li>
  136 <li><a id="2.078.1" href="2.078.1.html">2.078.1</a><span class="hide-from-nav"> (Jan 21, 2018)</span></li>
  137 <li><a id="2.078.0" href="2.078.0.html">2.078.0</a><span class="hide-from-nav"> (Jan 01, 2018)</span></li>
  138 <li><a id="2.077.1" href="2.077.1.html">2.077.1</a><span class="hide-from-nav"> (Nov 29, 2017)</span></li>
  139 <li><a id="2.077.0" href="2.077.0.html">2.077.0</a><span class="hide-from-nav"> (Nov 1, 2017)</span></li>
  140 <li><a id="2.076.1" href="2.076.1.html">2.076.1</a><span class="hide-from-nav"> (Oct 09, 2017)</span></li>
  141 <li><a id="2.076.0" href="2.076.0.html">2.076.0</a><span class="hide-from-nav"> (Sep 1, 2017)</span></li>
  142 <li><a id="2.075.1" href="2.075.1.html">2.075.1</a><span class="hide-from-nav"> (Aug 11, 2017)</span></li>
  143 <li><a id="2.075.0" href="2.075.0.html">2.075.0</a><span class="hide-from-nav"> (Jul 19, 2017)</span></li>
  144 <li><a id="2.074.1" href="2.074.1.html">2.074.1</a><span class="hide-from-nav"> (May 30, 2017)</span></li>
  145 <li><a id="2.074.0" href="2.074.0.html">2.074.0</a><span class="hide-from-nav"> (Apr 10, 2017)</span></li>
  146 <li><a id="2.073.2" href="2.073.2.html">2.073.2</a><span class="hide-from-nav"> (Mar 09, 2017)</span></li>
  147 <li><a id="2.073.1" href="2.073.1.html">2.073.1</a><span class="hide-from-nav"> (Feb 16, 2017)</span></li>
  148 <li><a id="2.073.0" href="2.073.0.html">2.073.0</a><span class="hide-from-nav"> (Jan 22, 2017)</span></li>
  149 <li><a id="2.072.2" href="2.072.2.html">2.072.2</a><span class="hide-from-nav"> (Dec 31, 2016)</span></li>
  150 <li><a id="2.072.1" href="2.072.1.html">2.072.1</a><span class="hide-from-nav"> (Nov 30, 2016)</span></li>
  151 <li><a id="2.072.0" href="2.072.0.html">2.072.0</a><span class="hide-from-nav"> (Oct 30, 2016)</span></li>
  152 <li><a id="2.071.2" href="2.071.2.html">2.071.2</a><span class="hide-from-nav"> (September 19, 2016)</span></li>
  153 <li><a id="2.071.1" href="2.071.1.html">2.071.1</a><span class="hide-from-nav"> (June 27, 2016)</span></li>
  154 <li><a id="2.071.0" href="2.071.0.html">2.071.0</a><span class="hide-from-nav"> (Apr 5, 2016)</span></li>
  155 <li><a id="2.070.2" href="2.070.2.html">2.070.2</a><span class="hide-from-nav"> (Mar 3, 2016)</span></li>
  156 <li><a id="2.070.1" href="2.070.1.html">2.070.1</a><span class="hide-from-nav"> (Feb 27, 2016)</span></li>
  157 <li><a id="2.070.0" href="2.070.0.html">2.070.0</a><span class="hide-from-nav"> (Jan 27, 2016)</span></li>
  158 <li><a id="2.069.2" href="2.069.2.html">2.069.2</a><span class="hide-from-nav"> (Dec 3, 2015)</span></li>
  159 <li><a id="2.069.1" href="2.069.1.html">2.069.1</a><span class="hide-from-nav"> (Nov 11, 2015)</span></li>
  160 <li><a id="2.069.0" href="2.069.0.html">2.069.0</a><span class="hide-from-nav"> (Nov 3, 2015)</span></li>
  161 <li><a id="2.068.2" href="2.068.2.html">2.068.2</a><span class="hide-from-nav"> (Sep 23, 2015)</span></li>
  162 <li><a id="2.068.1" href="2.068.1.html">2.068.1</a><span class="hide-from-nav"> (Sep 06, 2015)</span></li>
  163 <li><a id="2.068.0" href="2.068.0.html">2.068.0</a><span class="hide-from-nav"> (Aug 09, 2015)</span></li>
  164 <li><a id="2.067.1" href="2.067.1.html">2.067.1</a><span class="hide-from-nav"> (Apr 25, 2015)</span></li>
  165 <li><a id="2.067.0" href="2.067.0.html">2.067.0</a><span class="hide-from-nav"> (Mar 24, 2015)</span></li>
  166 <li><a id="2.066.1" href="2.066.1.html">2.066.1</a><span class="hide-from-nav"> (October 15, 2014)</span></li>
  167 <li><a id="2.066.0" href="2.066.0.html">2.066.0</a><span class="hide-from-nav"> (August 18, 2014)</span></li>
  168 <li><a id="2.065.0" href="2.065.0.html">2.065.0</a><span class="hide-from-nav"> (February 24, 2014)</span></li>
  169 <li><a id="2.064" href="2.064.html">2.064</a><span class="hide-from-nav"> (November 5, 2013)</span></li>
  170 <li><a id="2.063" href="2.063.html">2.063</a><span class="hide-from-nav"> (May 28, 2013)</span></li>
  171 <li><a id="2.062" href="2.062.html">2.062</a><span class="hide-from-nav"> (Feb 18, 2013)</span></li>
  172 <li><a id="2.061" href="2.061.html">2.061</a><span class="hide-from-nav"> (Jan 1, 2013)</span></li>
  173 <li><a id="2.060" href="2.060.html">2.060</a><span class="hide-from-nav"> (Aug 2, 2012)</span></li>
  174 <li><a id="2.059" href="2.059.html">2.059</a><span class="hide-from-nav"> (Apr 12, 2012)</span></li>
  175 <li><a id="2.058" href="2.058.html">2.058</a><span class="hide-from-nav"> (Feb 14, 2012)</span></li>
  176 <li><a id="2.057" href="2.057.html">2.057</a><span class="hide-from-nav"> (Dec 13, 2011)</span></li>
  177 <li><a id="2.056" href="2.056.html">2.056</a><span class="hide-from-nav"> (Oct 26, 2011)</span></li>
  178 <li><a id="2.055" href="2.055.html">2.055</a><span class="hide-from-nav"> (Sep 4, 2011)</span></li>
  179 <li><a id="2.054" href="2.054.html">2.054</a><span class="hide-from-nav"> (Jul 10, 2011)</span></li>
  180 <li><a id="2.053" href="2.053.html">2.053</a><span class="hide-from-nav"> (May 12, 2011)</span></li>
  181 <li><a id="2.052" href="2.052.html">2.052</a><span class="hide-from-nav"> (Feb 17, 2011)</span></li>
  182 <li><a id="2.051" href="2.051.html">2.051</a><span class="hide-from-nav"> (Dec 21, 2010)</span></li>
  183 <li><a id="2.050" href="2.050.html">2.050</a><span class="hide-from-nav"> (Oct 29, 2010)</span></li>
  184 <li><a id="2.049" href="2.049.html">2.049</a><span class="hide-from-nav"> (Sep 13, 2010)</span></li>
  185 <li><a id="2.048" href="2.048.html">2.048</a><span class="hide-from-nav"> (Aug 8, 2010)</span></li>
  186 <li><a id="2.047" href="2.047.html">2.047</a><span class="hide-from-nav"> (Jun 11, 2010)</span></li>
  187 <li><a id="2.046" href="2.046.html">2.046</a><span class="hide-from-nav"> (May 10, 2010)</span></li>
  188 <li><a id="2.045" href="2.045.html">2.045</a><span class="hide-from-nav"> (May 4, 2010)</span></li>
  189 <li><a id="2.044" href="2.044.html">2.044</a><span class="hide-from-nav"> (Apr 30, 2010)</span></li>
  190 <li><a id="2.043" href="2.043.html">2.043</a><span class="hide-from-nav"> (Apr 6, 2010)</span></li>
  191 <li><a id="2.042" href="2.042.html">2.042</a><span class="hide-from-nav"> (Mar 19, 2010)</span></li>
  192 <li><a id="2.041" href="2.041.html">2.041</a><span class="hide-from-nav"> (Mar 7, 2010)</span></li>
  193 <li><a id="2.040" href="2.040.html">2.040</a><span class="hide-from-nav"> (Jan 29, 2010)</span></li>
  194 <li><a id="2.039" href="2.039.html">2.039</a><span class="hide-from-nav"> (Jan 1, 2010)</span></li>
  195 <li><a id="2.038" href="2.038.html">2.038</a><span class="hide-from-nav"> (Dec 30, 2009)</span></li>
  196 <li><a id="2.037" href="2.037.html">2.037</a><span class="hide-from-nav"> (Dec 3, 2009)</span></li>
  197 <li><a id="2.036" href="2.036.html">2.036</a><span class="hide-from-nav"> (Nov 5, 2009)</span></li>
  198 <li><a id="2.035" href="2.035.html">2.035</a><span class="hide-from-nav"> (Oct 14, 2009)</span></li>
  199 <li><a id="2.034" href="2.034.html">2.034</a><span class="hide-from-nav"> (Oct 11, 2009)</span></li>
  200 <li><a id="2.033" href="2.033.html">2.033</a><span class="hide-from-nav"> (Oct 5, 2009)</span></li>
  201 <li><a id="2.032" href="2.032.html">2.032</a><span class="hide-from-nav"> (Sep 2, 2009)</span></li>
  202 <li><a id="2.031" href="2.031.html">2.031</a><span class="hide-from-nav"> (July 6, 2009)</span></li>
  203 <li><a id="2.030" href="2.030.html">2.030</a><span class="hide-from-nav"> (May 11, 2009)</span></li>
  204 <li><a id="2.029" href="2.029.html">2.029</a><span class="hide-from-nav"> (Apr 19, 2009)</span></li>
  205 <li><a id="2.028" href="2.028.html">2.028</a><span class="hide-from-nav"> (Apr 7, 2009)</span></li>
  206 <li><a id="2.027" href="2.027.html">2.027</a><span class="hide-from-nav"> (Mar 31, 2009)</span></li>
  207 <li><a id="2.026" href="2.026.html">2.026</a><span class="hide-from-nav"> (Mar 3, 2009)</span></li>
  208 <li><a id="2.025" href="2.025.html">2.025</a><span class="hide-from-nav"> (Feb 14, 2009)</span></li>
  209 <li><a id="2.023" href="2.023.html">2.023</a><span class="hide-from-nav"> (Jan 2, 2009)</span></li>
  210 <li><a id="2.022" href="2.022.html">2.022</a><span class="hide-from-nav"> (Dec 11, 2008)</span></li>
  211 <li><a id="2.021" href="2.021.html">2.021</a><span class="hide-from-nav"> (Nov 25, 2008)</span></li>
  212 <li><a id="2.020" href="2.020.html">2.020</a><span class="hide-from-nav"> (Oct 20, 2008)</span></li>
  213 <li><a id="2.019" href="2.019.html">2.019</a><span class="hide-from-nav"> (Sep 2, 2008)</span></li>
  214 <li><a id="2.018" href="2.018.html">2.018</a><span class="hide-from-nav"> (Aug 7, 2008)</span></li>
  215 <li><a id="2.017" href="2.017.html">2.017</a><span class="hide-from-nav"> (Jul 11, 2008)</span></li>
  216 <li><a id="2.016" href="2.016.html">2.016</a><span class="hide-from-nav"> (Jul 8, 2008)</span></li>
  217 <li><a id="2.015" href="2.015.html">2.015</a><span class="hide-from-nav"> (Jun 17, 2008)</span></li>
  218 <li><a id="2.014" href="2.014.html">2.014</a><span class="hide-from-nav"> (May 16, 2008)</span></li>
  219 <li><a id="2.013" href="2.013.html">2.013</a><span class="hide-from-nav"> (Apr 22, 2008)</span></li>
  220 <li><a id="2.012" href="2.012.html">2.012</a><span class="hide-from-nav"> (Mar 6, 2008)</span></li>
  221 <li><a id="2.011" href="2.011.html">2.011</a><span class="hide-from-nav"> (Feb 18, 2008)</span></li>
  222 <li><a id="2.010" href="2.010.html">2.010</a><span class="hide-from-nav"> (Jan 20, 2008)</span></li>
  223 <li><a id="2.009" href="2.009.html">2.009</a><span class="hide-from-nav"> (Jan 1, 2008)</span></li>
  224 <li><a id="2.008" href="2.008.html">2.008</a><span class="hide-from-nav"> (Nov 27, 2007)</span></li>
  225 <li><a id="2.007" href="2.007.html">2.007</a><span class="hide-from-nav"> (Oct 31, 2007)</span></li>
  226 <li><a id="2.006" href="2.006.html">2.006</a><span class="hide-from-nav"> (Oct 16, 2007)</span></li>
  227 <li><a id="2.005" href="2.005.html">2.005</a><span class="hide-from-nav"> (Oct 1, 2007)</span></li>
  228 <li><a id="2.004" href="2.004.html">2.004</a><span class="hide-from-nav"> (Sep 5, 2007)</span></li>
  229 <li><a id="2.003" href="2.003.html">2.003</a><span class="hide-from-nav"> (Jul 21, 2007)</span></li>
  230 <li><a id="2.002" href="2.002.html">2.002</a><span class="hide-from-nav"> (Jul 1, 2007)</span></li>
  231 <li><a id="2.001" href="2.001.html">2.001</a><span class="hide-from-nav"> (Jun 27, 2007)</span></li>
  232 <li><a id="2.000" href="2.000.html">2.000</a><span class="hide-from-nav"> (Jun 17, 2007)</span></li></ul>
  233 </div>
  234     <div class="hyphenate" id="content">        
  235 <div id="tools"><div >  <div class="tip smallprint">        <a href="https://issues.dlang.org/enter_bug.cgi?bug_file_loc=http%3A%2F%2Fdlang.org/&amp;component=dlang.org&amp;op_sys=All&amp;priority=P3&amp;product=D&amp;rep_platform=All&amp;short_desc=%5BChange Log: 2.091.0%5D&amp;version=D2&amp;bug_severity=enhancement">Report a bug</a>
  236         <div >          If you spot a problem with this page, click here to create a Bugzilla issue.
  237         </div>
  238     </div>
  239     <div class="tip smallprint">        <a href="https://github.com/dlang/dlang.org/edit/master/changelog/2.091.0.dd">Improve this page</a>
  240         <div >          Quickly fork, edit online, and submit a pull request for this page.
  241             Requires a signed-in GitHub account. This works well for small changes.
  242             If you'd like to make larger changes you may want to consider using
  243             a local clone.
  244         </div>
  245     </div>
  246 </div></div>
  247         <h1>Change Log: 2.091.0</h1>
  248         
  249         
  250 
  251 
  252 <div class="changelog-nav">previous version: <a href="2.090.1.html">2.090.1</a>
  253 &ndash; next version: <a href="2.091.1.html">2.091.1</a></div>
  254 
  255 
  256 <div class="version"><p><b><font size="4"><a href="http://downloads.dlang.org/releases/2.x/2.091.0">Download D 2.091.0</a></font></b><br>
  257 <small>released Mar 08, 2020</small>
  258 </p>
  259 
  260 <div class="changelog-header-stats">2.091.0 comes with 18 major changes and 66 fixed Bugzilla issues.
  261         A huge thanks goes to the
  262         <a href="#contributors">55 contributors</a>
  263         who made 2.091.0 possible.</div>
  264 
  265 <div class="bugsfixed"><h4>Compiler changes</h4> <ol>
  266 <li><a href="#deallocator">Class deallocator have been removed from the language</a></li>
  267 <li><a href="#gnu-error-style">Can now report line numbers in GNU error style</a></li>
  268 <li><a href="#headers">Added experimental <span class="d_inlinecode donthyphenate notranslate">C++</span> header generation from <span class="d_inlinecode donthyphenate notranslate">extern(C|C++)</span> declarations</a></li>
  269 
  270  </ol></div>
  271 
  272 <div class="bugsfixed"><h4>Runtime changes</h4> <ol>
  273 <li><a href="#add_missing_pthread_attr_destroy">Added missing <span class="d_inlinecode donthyphenate notranslate">pthread_attr_destroy</span> in some place.</a></li>
  274 <li><a href="#expanded_windows_security_bindings">Expanded bindings in core.sys.windows.security</a></li>
  275 <li><a href="#std_unique_ptr">Added <span class="d_inlinecode donthyphenate notranslate">core.stdcpp.memory.unique_ptr</span></a></li>
  276 <li><a href="#tfd_timer_cancel_on_set">Added <span class="d_inlinecode donthyphenate notranslate">TFD_TIMER_CANCEL_ON_SET</span>.</a></li>
  277 
  278  </ol></div>
  279 
  280 <div class="bugsfixed"><h4>Library changes</h4> <ol>
  281 <li><a href="#bigint-safe"><span class="d_inlinecode donthyphenate notranslate">std.bigint</span> is now <span class="d_inlinecode donthyphenate notranslate">@safe</span></a></li>
  282 <li><a href="#isClose">Replaced <span class="d_inlinecode donthyphenate notranslate">approxEqual</span> by <span class="d_inlinecode donthyphenate notranslate">isClose</span> in std.math.</a></li>
  283 <li><a href="#mangle_removed">Removed deprecated <span class="d_inlinecode donthyphenate notranslate">std.format.Mangle</span>.</a></li>
  284 <li><a href="#remove-stdio-structs">Removed deprecated structs <span class="d_inlinecode donthyphenate notranslate">ByLine</span>, <span class="d_inlinecode donthyphenate notranslate">ByChunk</span>, <span class="d_inlinecode donthyphenate notranslate">ByRecord</span> from <span class="d_inlinecode donthyphenate notranslate">std.stdio</span>.</a></li>
  285 <li><a href="#remove-string-functions">Removed deprecated functions from <span class="d_inlinecode donthyphenate notranslate">std.string</span></a></li>
  286 <li><a href="#schwartzSort"><span class="d_inlinecode donthyphenate notranslate">std.algorithm.sorting.schwartzSort</span> supports binary transform functions too</a></li>
  287 <li><a href="#std-functional-curry">Added curry to std.functional</a></li>
  288 
  289  </ol></div>
  290 
  291 <div class="bugsfixed"><h4>Installer changes</h4> <ol>
  292 <li><a href="#install-sh-windows">The install script now runs on Windows</a></li>
  293 <li><a href="#windows">The Windows installation has received a couple of updates</a></li>
  294 
  295  </ol></div>
  296 
  297 <div class="bugsfixed"><h4>Dub changes</h4> <ol>
  298 <li><a href="#env_variable_source_files_added">Environment variable SOURCE_FILES added</a></li>
  299 <li><a href="#zsh-completion">DUB now has zsh completion</a></li>
  300 
  301  </ol></div>
  302 
  303 <br><em class="big"><a href="#bugfix-list">List of all bug fixes and enhancements in D 2.091.0.</a></em>
  304 
  305 <hr>
  306 
  307 <div class="bugsfixed"><h4>Compiler changes</h4> <ol>
  308 <li><a class="anchor" title="Permalink to this section" id="deallocator" href="#deallocator">Class deallocator have been removed from the language</a>
  309 
  310 <p>Class deallocator have been deprecated in v2.080.0
  311 (see <a href="https://dlang.org/changelog/2.080.0.html#deprecate_class_allocators">the changelog entry</a>),
  312 and turned into an error in v2.087.0.
  313 They have now been completely removed from the language, and the parser won't recognize them anymore.
  314 </p>
  315 </li>
  316 
  317 <li><a class="anchor" title="Permalink to this section" id="gnu-error-style" href="#gnu-error-style">Can now report line numbers in GNU error style</a>
  318 
  319 <p>DMD now supports reporting errors and warnings in GNU error style, that is, <span class="d_inlinecode donthyphenate notranslate">filename:line[:column]: message</span>.
  320 This may ease compatibility with existing IDEs.
  321 </p>
  322 
  323 <p>Enable this style by calling DMD with <span class="d_inlinecode donthyphenate notranslate">-verror-style=gnu</span>.
  324 </p>
  325 </li>
  326 
  327 <li><a class="anchor" title="Permalink to this section" id="headers" href="#headers">Added experimental <span class="d_inlinecode donthyphenate notranslate">C++</span> header generation from <span class="d_inlinecode donthyphenate notranslate">extern(C|C++)</span> declarations</a>
  328 
  329 <p>DMD can now write C++ header files which contain bindings for declarations
  330 in existing D files that were marked as <span class="d_inlinecode donthyphenate notranslate">extern(C)</span> or <span class="d_inlinecode donthyphenate notranslate">extern(C++)</span>.
  331 </p>
  332 
  333 <p>This feature is available via the following command line switches:
  334 <ul><li><span class="d_inlinecode donthyphenate notranslate">-HC</span>: Write the generated headers to standard output</li>
  335 <li><span class="d_inlinecode donthyphenate notranslate">-HCf=&lt;file&gt;</span>: Write the generated headers to file</li>
  336 <li><span class="d_inlinecode donthyphenate notranslate">-HCd=&lt;directory&gt;</span>: Write the generated headers to file (not implemented yet)</li>
  337 </ul>
  338 </p>
  339 
  340 <p>Consider the following example:
  341 </p>
  342 
  343 <pre class="d_code notranslate"><span class="d_keyword">module</span> a;
  344 
  345 <span class="d_keyword">extern</span>(C) <span class="d_keyword">int</span> foo(<span class="d_keyword">int</span> a) { ... }
  346 <span class="d_keyword">extern</span>(C++) <span class="d_keyword">void</span> bar() { ... }
  347 <span class="d_keyword">void</span> ignored() { ... }
  348 </pre>
  349 <pre class="d_code notranslate"><span class="d_keyword">module</span> b;
  350 
  351 <span class="d_keyword">extern</span> (C++) <span class="d_keyword">struct</span> S
  352 {
  353     string name;
  354     <span class="d_keyword">this</span> (string name) { ... }
  355     <span class="d_keyword">bool</span> bar() { ... }
  356 }
  357 </pre>
  358 <pre class="d_code notranslate"><span class="d_keyword">module</span> c;
  359 
  360 <span class="d_keyword">import</span> a, b;
  361 
  362 <span class="d_keyword">extern</span> (C++) <span class="d_keyword">class</span> C
  363 {
  364     S[] s;
  365     <span class="d_keyword">this</span> () {}
  366     <span class="d_keyword">bool</span> bar() { ...}
  367 }
  368 
  369 </pre>
  370 
  371 <p>Compiling these modules with <span class="d_inlinecode donthyphenate notranslate">dmd -c -o- -HC a.d b.d c.d</span> will generate the following header:
  372 </p>
  373 
  374 <pre class="d_code notranslate">#pragma once
  375 
  376 <span class="d_comment">// Automatically generated by dmd -HC
  377 </span>
  378 #include &lt;<span class="d_keyword">assert</span>.h&gt;
  379 #include &lt;stddef.h&gt;
  380 #include &lt;stdio.h&gt;
  381 #include &lt;string.h&gt;
  382 
  383 #define _d_void <span class="d_keyword">void</span>
  384 #define _d_bool <span class="d_keyword">bool</span>
  385 #define _d_byte signed <span class="d_keyword">char</span>
  386 #define _d_ubyte unsigned <span class="d_keyword">char</span>
  387 #define _d_short <span class="d_keyword">short</span>
  388 #define _d_ushort unsigned <span class="d_keyword">short</span>
  389 #define _d_int <span class="d_keyword">int</span>
  390 #define _d_uint unsigned
  391 #define _d_long <span class="d_keyword">long</span> <span class="d_keyword">long</span>
  392 #define _d_ulong unsigned <span class="d_keyword">long</span> <span class="d_keyword">long</span>
  393 #define _d_float <span class="d_keyword">float</span>
  394 #define _d_double <span class="d_keyword">double</span>
  395 #define _d_real <span class="d_keyword">long</span> <span class="d_keyword">double</span>
  396 #define _d_char <span class="d_keyword">char</span>
  397 #define _d_wchar wchar_t
  398 #define _d_dchar unsigned
  399 typedef _d_long d_int64;
  400 #define _d_null NULL
  401 
  402 <span class="d_comment">// Parsing module a
  403 </span><span class="d_comment">// Parsing module b
  404 </span><span class="d_comment">// Parsing module c
  405 </span><span class="d_keyword">struct</span> S;
  406 <span class="d_keyword">extern</span> <span class="d_string">"C"</span> _d_int foo(_d_int a);
  407 
  408 <span class="d_keyword">extern</span> _d_void bar();
  409 
  410 <span class="d_comment">// ignoring function a.ignored because of linkage
  411 </span><span class="d_keyword">struct</span> S
  412 {
  413     DArray&lt; _d_char &gt; name;
  414     S(DArray&lt; _d_char &gt; name);
  415     _d_bool bar();
  416     S() : name() {}
  417 };
  418 
  419 <span class="d_keyword">class</span> C
  420 {
  421 <span class="d_keyword">public</span>:
  422     DArray&lt; S &gt; s;
  423     C();
  424     virtual _d_bool bar();
  425 };
  426 </pre>
  427 
  428 <p>Refer to the <a href="..//spec/cpp_interface.html">documentation</a> for further information regarding C++ interoperation.
  429 </p>
  430 
  431 <p>Note that this feature is considered experimental and might not work correctly sometimes.
  432 Please open an issue in the <a href="https://issues.dlang.org">bug tracker</a> if you encounter a bug while using this feature.
  433 </p>
  434 </li>
  435 
  436 
  437  </ol></div>
  438 
  439 <div class="bugsfixed"><h4>Runtime changes</h4> <ol>
  440 <li><a class="anchor" title="Permalink to this section" id="add_missing_pthread_attr_destroy" href="#add_missing_pthread_attr_destroy">Added missing <span class="d_inlinecode donthyphenate notranslate">pthread_attr_destroy</span> in some place.</a>
  441 
  442 <p>Added missing <span class="d_inlinecode donthyphenate notranslate">pthread_attr_destroy</span>, this prevents memory leak in some OSes such as freebsd or solaris.
  443 </p>
  444 </li>
  445 
  446 <li><a class="anchor" title="Permalink to this section" id="expanded_windows_security_bindings" href="#expanded_windows_security_bindings">Expanded bindings in core.sys.windows.security</a>
  447 
  448 <p>Many enum members were missing, the list is now reasonably up-to-date.
  449 </p>
  450 </li>
  451 
  452 <li><a class="anchor" title="Permalink to this section" id="std_unique_ptr" href="#std_unique_ptr">Added <span class="d_inlinecode donthyphenate notranslate">core.stdcpp.memory.unique_ptr</span></a>
  453 
  454 <p>Added <span class="d_inlinecode donthyphenate notranslate">core.stdcpp.memory.unique_ptr</span>, which corresponds to C++ <span class="d_inlinecode donthyphenate notranslate">std::unique_ptr</span>.
  455 </p>
  456 </li>
  457 
  458 <li><a class="anchor" title="Permalink to this section" id="tfd_timer_cancel_on_set" href="#tfd_timer_cancel_on_set">Added <span class="d_inlinecode donthyphenate notranslate">TFD_TIMER_CANCEL_ON_SET</span>.</a>
  459 
  460 <p>Added <span class="d_inlinecode donthyphenate notranslate">TFD_TIMER_CANCEL_ON_SET</span> option, which marks a timer as cancelable if the realtime clock is used.
  461 </p>
  462 </li>
  463 
  464 
  465  </ol></div>
  466 
  467 <div class="bugsfixed"><h4>Library changes</h4> <ol>
  468 <li><a class="anchor" title="Permalink to this section" id="bigint-safe" href="#bigint-safe"><span class="d_inlinecode donthyphenate notranslate">std.bigint</span> is now <span class="d_inlinecode donthyphenate notranslate">@safe</span></a>
  469 
  470 <p>Many <span class="d_inlinecode donthyphenate notranslate">BigInt</span> operations used to be <span class="d_inlinecode donthyphenate notranslate">@system</span> because of assembly routines and casts from mutable to immutable data.
  471 These parts are now marked <span class="d_inlinecode donthyphenate notranslate">@trusted</span>, so that <span class="d_inlinecode donthyphenate notranslate">BigInt</span> can now be used in <span class="d_inlinecode donthyphenate notranslate">@safe</span> code.
  472 </p>
  473 </li>
  474 
  475 <li><a class="anchor" title="Permalink to this section" id="isClose" href="#isClose">Replaced <span class="d_inlinecode donthyphenate notranslate">approxEqual</span> by <span class="d_inlinecode donthyphenate notranslate">isClose</span> in std.math.</a>
  476 
  477 <p>The template <span class="d_inlinecode donthyphenate notranslate">approxEqual</span> for comparing floating point numbers has
  478 been replaced by the template <span class="d_inlinecode donthyphenate notranslate">isClose</span>, which has better default
  479 values and is symmetric in its arguments.
  480 </p>
  481 
  482 <p>To (almost) keep the current behaviour of <span class="d_inlinecode donthyphenate notranslate">approxEqual(a, b)</span> use
  483 <span class="d_inlinecode donthyphenate notranslate">isClose(a, b, 1e-2, 1e-2)</span>, but we recommend to adjust the code to
  484 make it work with <span class="d_inlinecode donthyphenate notranslate">isClose(a, b)</span>.
  485 </p>
  486 
  487 <p>In one of the next releases <span class="d_inlinecode donthyphenate notranslate">approxEqual</span> will be deprecated and
  488 eventually removed.
  489 </p>
  490 </li>
  491 
  492 <li><a class="anchor" title="Permalink to this section" id="mangle_removed" href="#mangle_removed">Removed deprecated <span class="d_inlinecode donthyphenate notranslate">std.format.Mangle</span>.</a>
  493 
  494 <p>The deprecated enum <span class="d_inlinecode donthyphenate notranslate">Mangle</span> containing mangled names of basic types has been
  495 removed. Use <span class="d_inlinecode donthyphenate notranslate">std.demangle.demangle</span> instead to parse mangled names.
  496 </p>
  497 </li>
  498 
  499 <li><a class="anchor" title="Permalink to this section" id="remove-stdio-structs" href="#remove-stdio-structs">Removed deprecated structs <span class="d_inlinecode donthyphenate notranslate">ByLine</span>, <span class="d_inlinecode donthyphenate notranslate">ByChunk</span>, <span class="d_inlinecode donthyphenate notranslate">ByRecord</span> from <span class="d_inlinecode donthyphenate notranslate">std.stdio</span>.</a>
  500 
  501 <p>The deprecated structs <span class="d_inlinecode donthyphenate notranslate">ByLine</span>, <span class="d_inlinecode donthyphenate notranslate">ByChunk</span>, <span class="d_inlinecode donthyphenate notranslate">ByRecord</span> have been removed from
  502 <span class="d_inlinecode donthyphenate notranslate">std.stdio</span>. Use the functions <span class="d_inlinecode donthyphenate notranslate">byLine</span>, <span class="d_inlinecode donthyphenate notranslate">byChunk</span>, <span class="d_inlinecode donthyphenate notranslate">byRecord</span> instead.
  503 </p>
  504 </li>
  505 
  506 <li><a class="anchor" title="Permalink to this section" id="remove-string-functions" href="#remove-string-functions">Removed deprecated functions from <span class="d_inlinecode donthyphenate notranslate">std.string</span></a>
  507 
  508 <p>The deprecated functions <span class="d_inlinecode donthyphenate notranslate">inPattern</span>, <span class="d_inlinecode donthyphenate notranslate">countchars</span>, <span class="d_inlinecode donthyphenate notranslate">removechars</span>, <span class="d_inlinecode donthyphenate notranslate">squeeze</span>
  509 and <span class="d_inlinecode donthyphenate notranslate">munch</span> in <span class="d_inlinecode donthyphenate notranslate">std.string</span> have been removed. Any code that still needs
  510 them can use <a href="https://github.com/dlang/undeaD">UndeaD</a> instead.
  511 </p>
  512 </li>
  513 
  514 <li><a class="anchor" title="Permalink to this section" id="schwartzSort" href="#schwartzSort"><span class="d_inlinecode donthyphenate notranslate">std.algorithm.sorting.schwartzSort</span> supports binary transform functions too</a>
  515 
  516 <p>The <span class="d_inlinecode donthyphenate notranslate">transform</span> template parameter of <a href="../phobos/std_algorithm_sorting.html#.schwartzSort"><span class="d_inlinecode donthyphenate notranslate">std.algorithm.sorting.schwartzSort</span></a>
  517 isn't restricted to unary functions taking an element anymore, but can
  518 also be a binary function taking an element and its index in the
  519 original range.
  520 </p>
  521 
  522 <p>The original index can therefore be used when computing the transformed
  523 value to sort by.
  524 </p>
  525 </li>
  526 
  527 <li><a class="anchor" title="Permalink to this section" id="std-functional-curry" href="#std-functional-curry">Added curry to std.functional</a>
  528 
  529 <p>Converts a function of multiple parameters to a function of 1 parameter that
  530 returns a function of 1 parameter... until it runs out of parameters and
  531 evaluates the function.  Essentially:  f(x, y, z) == curry(f)(x)(y)(z)
  532 </p>
  533 </li>
  534 
  535 
  536  </ol></div>
  537 
  538 <div class="bugsfixed"><h4>Installer changes</h4> <ol>
  539 <li><a class="anchor" title="Permalink to this section" id="install-sh-windows" href="#install-sh-windows">The install script now runs on Windows</a>
  540 
  541 <p>The D installation script (install.sh, available at
  542 <a href="https://dlang.org/install.sh">dlang.org/install.sh</a>)
  543 now supports POSIX-like environments on Windows.
  544 This allows installing and using Windows versions of DMD, LDC, and Dub
  545 from e.g. CygWin or MSys2, thus providing a unified way of installing
  546 D compilers across supported platforms.
  547 </p>
  548 </li>
  549 
  550 <li><a class="anchor" title="Permalink to this section" id="windows" href="#windows">The Windows installation has received a couple of updates</a>
  551 
  552 <p><ul><li>the released dmd.exe is now built with LDC for a reduction of compilation
  553   times of 30-40%.</li>
  554 <li>64-bit builds of dmd.exe, dub.exe and lld-link.exe have been added to the bin64 folder</li>
  555 <li>The bundled Windows libraries and definitions have been changed from MinGW 5.0.2
  556   to MinGW 7.0.0 (with additional wide string <span class="d_inlinecode donthyphenate notranslate">main</span> entrypoints).</li>
  557 <li>The bundled LLD linker on Windows has been upgraded to 9.0.0 (including a
  558   patch that allows exceptions to work on Win32).</li>
  559 <li>The VC runtime linked with the MinGW import libraries has been upgraded to
  560   msvcr120.dll (the last version that allows simple copying and no dependency
  561   on the universal C runtime). The redistributable DLLs have been added to the
  562   respective bin folder for immediate use without running additional installers.</li>
  563 <li>The curl libraries/DLLs have been updated to 7.68.</li>
  564 <li>ancient windbg.exe has been removed from the installation.</li>
  565 <li>The installer now detects an installation of VS 2019. If no VC installation is
  566   found the proposed download is not VS 2017 anymore, but VS 2019.</li>
  567 </ul>
  568 </p>
  569 </li>
  570 
  571 
  572  </ol></div>
  573 
  574 <div class="bugsfixed"><h4>Dub changes</h4> <ol>
  575 <li><a class="anchor" title="Permalink to this section" id="env_variable_source_files_added" href="#env_variable_source_files_added">Environment variable SOURCE_FILES added</a>
  576 
  577 <p>New environment variable <span class="d_inlinecode donthyphenate notranslate">$SOURCE_FILES</span> added containing
  578 source files from build settings.
  579 </p>
  580 </li>
  581 
  582 <li><a class="anchor" title="Permalink to this section" id="zsh-completion" href="#zsh-completion">DUB now has zsh completion</a>
  583 
  584 <p>A zsh completion script is now present in <span class="d_inlinecode donthyphenate notranslate">scripts/zsh-completion/_zsh</span>.
  585 It can be installed under the user's prefered <span class="d_inlinecode donthyphenate notranslate">fpath</span> and provides completion
  586 for options for the most common <span class="d_inlinecode donthyphenate notranslate">dub</span> commands, as well as list of packages
  587 (based on local packages), e.g. for <span class="d_inlinecode donthyphenate notranslate">dub add</span>.
  588 </p>
  589 </li>
  590 
  591 
  592  </ol></div>
  593 
  594 <br><em class="big"><a class="anchor" title="Permalink to this section" id="bugfix-list" href="#bugfix-list">List of all bug fixes and enhancements in D 2.091.0:</a></em>
  595 
  596 <div class="bugsfixed"><h4>DMD Compiler regressions</h4> <ol>
  597 <li><a href="https://issues.dlang.org/show_bug.cgi?id=10100">Bugzilla 10100</a>: Identifiers with double underscores and allMembers</li>
  598 <li><a href="https://issues.dlang.org/show_bug.cgi?id=15812">Bugzilla 15812</a>: static struct inside extern(C++) class cannot be used as key to associative array</li>
  599 <li><a href="https://issues.dlang.org/show_bug.cgi?id=16709">Bugzilla 16709</a>: [Reg 2.068] Error: common.to at common.d conflicts with common.to at common.d</li>
  600 <li><a href="https://issues.dlang.org/show_bug.cgi?id=17098">Bugzilla 17098</a>: Takes hours to -O compile then fails with Internal error: backend/cgreg.c 405</li>
  601 <li><a href="https://issues.dlang.org/show_bug.cgi?id=17145">Bugzilla 17145</a>: [REG2.066.0] Tuple expansion error in local enum declaration</li>
  602  </ol></div>
  603 <div class="bugsfixed"><h4>DMD Compiler bugs</h4> <ol>
  604 <li><a href="https://issues.dlang.org/show_bug.cgi?id=9937">Bugzilla 9937</a>: CTFE floats don't overflow correctly</li>
  605 <li><a href="https://issues.dlang.org/show_bug.cgi?id=11847">Bugzilla 11847</a>: sub-pkg not available as qualified name</li>
  606 <li><a href="https://issues.dlang.org/show_bug.cgi?id=17257">Bugzilla 17257</a>: Wrong recursive template destructor reflection</li>
  607 <li><a href="https://issues.dlang.org/show_bug.cgi?id=18147">Bugzilla 18147</a>: Debug information limited in size</li>
  608 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19479">Bugzilla 19479</a>: Garbage .init in string mixins in static foreach in mixin templates</li>
  609 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19504">Bugzilla 19504</a>: pragma(mangle) ignored for C++ destructors</li>
  610 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19515">Bugzilla 19515</a>: POSIX,C++: Template argument pack wrongly mangled</li>
  611 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20362">Bugzilla 20362</a>: dmd fails to infer scope parameter for delegate</li>
  612 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20375">Bugzilla 20375</a>: std.typecons.RefCounted does not work with checkaction-context</li>
  613 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20421">Bugzilla 20421</a>: Exceptions don't work when linking through lld-link</li>
  614 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20474">Bugzilla 20474</a>: Deprecation warnings inside deprecated function template</li>
  615 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20507">Bugzilla 20507</a>: Debug statements affect inference of templated functions attributes</li>
  616 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20514">Bugzilla 20514</a>: obj-c info incorrectly placed in __objc_const section</li>
  617 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20530">Bugzilla 20530</a>: is(&lt;...&gt; == module/package) does not work with string mixins</li>
  618 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20537">Bugzilla 20537</a>: traits isPackage/isModule and is(package/module) fail on single level package.d import</li>
  619 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20538">Bugzilla 20538</a>: malformed enum definition compiles</li>
  620 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20545">Bugzilla 20545</a>: Segfault/Assertion failure when parsing invalid AA literal</li>
  621 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20547">Bugzilla 20547</a>: Wrong error message when trying to "new" an associative array</li>
  622 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20551">Bugzilla 20551</a>: In @safe code and using delegates, it's possible to escape references to function frame</li>
  623 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20592">Bugzilla 20592</a>: [GCC ASM] [ICE] dmd/iasmgcc.d(332): Assertion failure</li>
  624 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20613">Bugzilla 20613</a>: String switch in -betterC fails for 7+ labels</li>
  625  </ol></div>
  626 <div class="bugsfixed"><h4>DMD Compiler enhancements</h4> <ol>
  627 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20569">Bugzilla 20569</a>: [DIP1000] allow taking the address of a <span class="d_inlinecode donthyphenate notranslate">scope</span> struct field if it has no indirections</li>
  628  </ol></div>
  629 <div class="bugsfixed"><h4>Phobos regressions</h4> <ol>
  630 <li><a href="https://issues.dlang.org/show_bug.cgi?id=7006">Bugzilla 7006</a>: std.math.pow (integral, integral) crashes on negative exponents</li>
  631  </ol></div>
  632 <div class="bugsfixed"><h4>Phobos bugs</h4> <ol>
  633 <li><a href="https://issues.dlang.org/show_bug.cgi?id=5232">Bugzilla 5232</a>: [patch] std.conv.to &amp; std.conv.roundTo report invalid overflows for very large numbers</li>
  634 <li><a href="https://issues.dlang.org/show_bug.cgi?id=5628">Bugzilla 5628</a>: std.math unittest disabled - roundoff error in pow() on SSE2</li>
  635 <li><a href="https://issues.dlang.org/show_bug.cgi?id=7446">Bugzilla 7446</a>: [TDPL] Trivial asynchronous file copy example crashes with OwnerTerminated</li>
  636 <li><a href="https://issues.dlang.org/show_bug.cgi?id=8388">Bugzilla 8388</a>: std.traits.MemberFunctionsTuple doesn't work with constructors or destructors</li>
  637 <li><a href="https://issues.dlang.org/show_bug.cgi?id=12461">Bugzilla 12461</a>: Typedef and opOpAssign</li>
  638 <li><a href="https://issues.dlang.org/show_bug.cgi?id=15891">Bugzilla 15891</a>: Compiler error when std.algorithm.cache after 2 layers of std.algorithm.map</li>
  639 <li><a href="https://issues.dlang.org/show_bug.cgi?id=17427">Bugzilla 17427</a>: std.concurrency internal errors on uninitialised mailbox</li>
  640 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20232">Bugzilla 20232</a>: WhiteHole is unusable with @safe interface functions</li>
  641 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20259">Bugzilla 20259</a>: [Function Socket.bind] Doesn't inform what Exception it throws</li>
  642 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20493">Bugzilla 20493</a>: Incorrect result of BigInt * BigInt</li>
  643 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20521">Bugzilla 20521</a>: Checking for and getting empty variables on Wine / XP fails</li>
  644 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20540">Bugzilla 20540</a>: (White|Black)Hole does not work with return|scope functions</li>
  645 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20542">Bugzilla 20542</a>: std.math.nextafter(NaN, y) and nextafter(x, NaN) should return NaN</li>
  646 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20544">Bugzilla 20544</a>: socket.remoteAddress throws out of memory error with unix domain socket peer</li>
  647 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20585">Bugzilla 20585</a>: std.stdio.File open() failure leaves File in invalid state</li>
  648 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20639">Bugzilla 20639</a>: Some BitArray methods should be const/pure/nothrow/...</li>
  649  </ol></div>
  650 <div class="bugsfixed"><h4>Phobos enhancements</h4> <ol>
  651 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20146">Bugzilla 20146</a>: Allow casting from std.bigint.BigInt to built-in floating point types</li>
  652 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20480">Bugzilla 20480</a>: make std.getopt ready for DIP 1000</li>
  653 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20548">Bugzilla 20548</a>: Use bit vector instead of bool[] in RandomCover when choices cannot be packed in a single word</li>
  654 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20566">Bugzilla 20566</a>: std.sformat should avoid allocating memory when printing floating point values</li>
  655  </ol></div>
  656 <div class="bugsfixed"><h4>Druntime regressions</h4> <ol>
  657 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19322">Bugzilla 19322</a>: A lot of memory is consumed and not freed to the system when Exception is formatted with stacktrace in debug</li>
  658  </ol></div>
  659 <div class="bugsfixed"><h4>Druntime bugs</h4> <ol>
  660 <li><a href="https://issues.dlang.org/show_bug.cgi?id=15322">Bugzilla 15322</a>: version(Unicode) should affect only default aliases</li>
  661 <li><a href="https://issues.dlang.org/show_bug.cgi?id=16658">Bugzilla 16658</a>: Win32API: default IE ver. set to 4.0 is too old</li>
  662 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19489">Bugzilla 19489</a>: Null function call results in no stack trace</li>
  663 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19909">Bugzilla 19909</a>: core.stdc.errno missing POSIX error code on Windows</li>
  664 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20459">Bugzilla 20459</a>: Runtime arg parsing should stop at '--'</li>
  665 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20468">Bugzilla 20468</a>: emplace doesn't forward constructor arguments' (l/r)valueness</li>
  666 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20476">Bugzilla 20476</a>: chainTogether leaks exception with -dip1008</li>
  667 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20512">Bugzilla 20512</a>: Return type of memchr should be inout(void)* rather than void*</li>
  668 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20513">Bugzilla 20513</a>: Return type of wmemchr should be inout(wchar_t)* rather than wchar_t*</li>
  669 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20591">Bugzilla 20591</a>: ldc doesn't print files' directories when printing stack trace</li>
  670 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20629">Bugzilla 20629</a>: atomicStore does not compile for struct using -m64</li>
  671  </ol></div>
  672 <div class="bugsfixed"><h4>Druntime enhancements</h4> <ol>
  673 <li><a href="https://issues.dlang.org/show_bug.cgi?id=19218">Bugzilla 19218</a>: object.destroy should check for classes for static arrays</li>
  674 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20550">Bugzilla 20550</a>: Use fixed seeds for treaps in GC</li>
  675 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20567">Bugzilla 20567</a>: GC should not start threads for parallel marking in simple programs</li>
  676 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20577">Bugzilla 20577</a>: Add missing symbols related to Windows UAC</li>
  677  </ol></div>
  678 <div class="bugsfixed"><h4>dlang.org bugs</h4> <ol>
  679 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20500">Bugzilla 20500</a>: running examples on the home page only displays '1 unittests passed'</li>
  680  </ol></div>
  681 <div class="bugsfixed"><h4>Installer enhancements</h4> <ol>
  682 <li><a href="https://issues.dlang.org/show_bug.cgi?id=20489">Bugzilla 20489</a>: Installer deleting files after install</li>
  683  </ol></div>
  684 
  685 </div>
  686 <h3><a class="anchor" title="Permalink to this section" id="contributors" href="#contributors">Contributors to this release (55)</a></h3>
  687 <p>A huge thanks goes to all the awesome people who made this release possible.</p>
  688 <ul>    <li>Adam D. Ruppe</li>
  689     <li>aG0aep6G</li>
  690     <li>Ahmet Sait</li>
  691     <li>Alexandru Militaru</li>
  692     <li>Andrei Alexandrescu</li>
  693     <li>Asakusa Yakumo</li>
  694     <li>Atila Neves</li>
  695     <li>Bastiaan Veelo</li>
  696     <li>Ben Jones</li>
  697     <li>Bernhard Seckinger</li>
  698     <li>Boris Carvajal</li>
  699     <li>Daniel Kozák</li>
  700     <li>Dennis Katsonis</li>
  701     <li>dkorpel</li>
  702     <li>Dragos Carp</li>
  703     <li>drug007</li>
  704     <li>dukc</li>
  705     <li>Etienne Cimon</li>
  706     <li>Hiroki Noda</li>
  707     <li>Iain Buclaw</li>
  708     <li>Jacob Carlborg</li>
  709     <li>Jiyuan Zhang</li>
  710     <li>Johan Engelen</li>
  711     <li>John Colvin</li>
  712     <li>Jonathan Marler</li>
  713     <li>Julian Fondren</li>
  714     <li>Kazuya Takahashi</li>
  715     <li>Lance Bachmeier</li>
  716     <li>Manish Khurana</li>
  717     <li>Manu Evans</li>
  718     <li>Marco de Wild</li>
  719     <li>Mark</li>
  720     <li>Martin Kinkelin</li>
  721     <li>Martin Nowak</li>
  722     <li>Mathias Lang</li>
  723     <li>Mathis Beer</li>
  724     <li>Moonchild</li>
  725     <li>MoonlightSentinel</li>
  726     <li>Nathan Sashihara</li>
  727     <li>Nicholas Wilson</li>
  728     <li>Paul Backus</li>
  729     <li>Petar Kirov</li>
  730     <li>Rainer Schuetze</li>
  731     <li>Rasmus Thomsen</li>
  732     <li>Razvan Nitu</li>
  733     <li>Robert Schadek</li>
  734     <li>Sebastiaan Koppe</li>
  735     <li>Sebastian Wilzbach</li>
  736     <li>skoppe</li>
  737     <li>Stefan Koch</li>
  738     <li>Steven Schveighoffer</li>
  739     <li>Vladimir Panteleev</li>
  740     <li>Walter Bright</li>
  741     <li>Yazan Dabain</li>
  742     <li>سليمان السهمي (Suleyman Sahmi)</li>
  743 </ul>
  744 
  745 
  746 <div class="changelog-nav">previous version: <a href="2.090.1.html">2.090.1</a>
  747 &ndash; next version: <a href="2.091.1.html">2.091.1</a></div>
  748 
  749 
  750         <div class="smallprint" id="copyright">Copyright &copy; 1999-2020 by the <a href="../foundation_overview.html">D Language Foundation</a> | Page generated by
  751 <a href="../spec/ddoc.html">Ddoc</a> on Fri Nov 20 21:58:07 2020
  752 </div>
  753     </div>
  754 </div>
  755 
  756     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  757     <script type="text/javascript">window.jQuery || document.write('\x3Cscript src="../js/jquery-1.7.2.min.js">\x3C/script>');</script>
  758     <script type="text/javascript" src="../js/dlang.js"></script>
  759     
  760     <script type="text/javascript" src="../js/codemirror-compressed.js"></script>
  761     <script type="text/javascript" src="../js/run.js"></script>
  762 
  763 
  764 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
  765 </body>
  766 </html>