Summary: | The feature std::binary_function that has to be removed in C++17 isn't removed in clang-15 in FreeBSD 13.2 STABLE | ||
---|---|---|---|
Product: | Base System | Reporter: | Yuri Victorovich <yuri> |
Component: | misc | Assignee: | freebsd-toolchain (Nobody) <toolchain> |
Status: | New --- | ||
Severity: | Affects Only Me | CC: | dim, marklmi26-fbsd |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Yuri Victorovich
2023-07-22 08:53:36 UTC
(In reply to Yuri Victorovich from comment #0) This is a misinterpretation of what removal from the language means. I'll just quote an old Microsoft blog post: https://devblogs.microsoft.com/cppblog/c17-feature-removals-and-deprecations/ says: "Technically, even removal isn’t the end of the road for a feature. Implementations can conform to C++17, yet accept features that were removed in C++17, as an extension. For example, the STL’s Standardese has a “Zombie names” section, saying that “In namespace std, the following names are reserved for previous standardization”. Essentially, C++17 is saying that while it doesn’t specify auto_ptr or unary_function or so forth, conformant C++17 programs aren’t allowed to interfere with such names (e.g. with macros), so that conformant C++17 STL implementations can provide auto_ptr/etc. as a non-C++17-Standard extension. This allows implementers to choose whether they physically remove features, and additionally makes it easier for the Committee to remove features from the Standard." |