<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Issue 1348: Exception safety of unspecified types</title>
<meta property="og:title" content="Issue 1348: Exception safety of unspecified types">
<meta property="og:description" content="C++ library issue. Status: NAD">
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue1348.html">
<meta property="og:type" content="website">
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
<meta property="og:image:alt" content="C++ logo">
<style>
  p {text-align:justify}
  li {text-align:justify}
  pre code.backtick::before { content: "`" }
  pre code.backtick::after { content: "`" }
  blockquote.note
  {
    background-color:#E0E0E0;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 1px;
    padding-bottom: 1px;
  }
  ins {background-color:#A0FFA0}
  del {background-color:#FFA0A0}
  table.issues-index { border: 1px solid; border-collapse: collapse; }
  table.issues-index th { text-align: center; padding: 4px; border: 1px solid; }
  table.issues-index td { padding: 4px; border: 1px solid; }
  table.issues-index td:nth-child(1) { text-align: right; }
  table.issues-index td:nth-child(2) { text-align: left; }
  table.issues-index td:nth-child(3) { text-align: left; }
  table.issues-index td:nth-child(4) { text-align: left; }
  table.issues-index td:nth-child(5) { text-align: center; }
  table.issues-index td:nth-child(6) { text-align: center; }
  table.issues-index td:nth-child(7) { text-align: left; }
  table.issues-index td:nth-child(5) span.no-pr { color: red; }
  @media (prefers-color-scheme: dark) {
     html {
        color: #ddd;
        background-color: black;
     }
     ins {
        background-color: #225522
     }
     del {
        background-color: #662222
     }
     a {
        color: #6af
     }
     a:visited {
        color: #6af
     }
     blockquote.note
     {
        background-color: rgba(255, 255, 255, .10)
     }
  }
</style>
</head>
<body>
<hr>
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#NAD">NAD</a> status.</em></p>
<h3 id="1348"><a href="lwg-closed.html#1348">1348</a>. Exception safety of unspecified types</h3>
<p><b>Section:</b> 16 <a href="https://wg21.link/library">[library]</a> <b>Status:</b> <a href="lwg-active.html#NAD">NAD</a>
 <b>Submitter:</b> BSI <b>Opened:</b> 2010-08-25 <b>Last modified:</b> 2016-01-28</p>
<p><b>Priority: </b>Not Prioritized
</p>
<p><b>View other</b> <a href="lwg-index-open.html#library">active issues</a> in [library].</p>
<p><b>View all other</b> <a href="lwg-index.html#library">issues</a> in [library].</p>
<p><b>View all issues with</b> <a href="lwg-status.html#NAD">NAD</a> status.</p>
<p><b>Discussion:</b></p>
<p><b>Addresses GB-64</b></p>
<p>
There are a number of unspecified types used throughout
the library, such as the container iterators. Many of these
unspecified types have restrictions or expectations on
their behaviour in terms of exceptions. Are they permitted
or required to use exception specifications, more
specifically the new <code>noexcept</code> specification? For example,
if <code>vector&lt;T>::iterator</code> is implemented as a native pointer,
all its operations will have an (effective) <code>noexcept</code>
specification. If the implementation uses a class type to
implement this iterator, is it permitted or required to
support that same guarantee?
</p>

<p><i>[
Resolution proposed by ballot comment
]</i></p>

<p>
Clearly state the requirements for exception
specifications on all unspecified library types. For
example, all container iterator operations should
be conditionally <code>noexcept</code>, with the condition
matching the same operation applied to the
allocator's <code>pointer_type</code>, a certain subset of which
are already required not to throw.
</p>

<p><i>[2011-03-24 Madrid meeting]</i></p>


<p>Discussion:</p>
<p>Alisdair: Probably an NAD Future at least but could be NAD.
<p/>
Daniel K: Approach is not consistent with what we've decided with <code>noexcept</code>.
<p/>
Alisdair: Any objection to marking 1348 as NAD?
<p/>
No objections. 
</p>



<p><b>Rationale:</b></p><p>Standard is correct as written</p>
<p id="res-1348"><b>Proposed resolution:</b></p>





</body>
</html>
