Herb Sutter
da8a6fbd37
Make C.12 title consistent
2023-01-19 14:43:11 -08:00
Herb Sutter
06fabdc9af
Update C.12 to apply to copyable/movable types, closes #2012
2023-01-19 14:42:25 -08:00
Herb Sutter
0bc56ffaa8
s/instead follow/follow/ for #2010
2023-01-19 14:17:29 -08:00
Russell McClellan
1ba3371a0d
Add exceptions to F.15, F.16, and F.18 for shared_ptr types ( #2010 )
...
Currently these guidelines conflict with R.34, R.35, and R.36.
This conflict has led to confusion, where it's unclear which
guidelines to prefer for `shared_ptr` types.
In a [previous
PR](https://github.com/isocpp/CppCoreGuidelines/pull/1989 ) I proposed
preferring the "F" series of guidelines. This PR takes the opposite
approach and prefers the "R" guidelines for `shared_ptr` types.
I don't feel strongly about which guidelines to prefer, I just want to make
sure the guidelines are internally consistent.
2023-01-19 14:16:39 -08:00
Hyuk Myeong
fa31c19979
Fix minor typos ( #2022 )
...
* Fix minor typos
Fix minor typos
* Update isocpp.dic
2023-01-19 14:04:14 -08:00
Sergey Zubkov
4b706d9d6d
satisfy travis ci
2023-01-15 10:53:11 -05:00
Herb Sutter
17b68f14f6
Describe capture-lists and update F.19 forwarding enforcement, updates #2016 and closes #2017
2023-01-12 16:24:01 -08:00
Chris Cotter
1748ebb45a
Editorial - use "capture default" for syntactic element ( #2016 )
2023-01-12 14:13:35 -08:00
Kimi MA
12ad22b024
non-built-in -> built-in ( #2015 )
2023-01-05 17:10:06 -05:00
Kimi MA
9028b62106
R.33 add missing space in the title ( #2014 )
2022-12-23 08:57:35 -05:00
Arkady Shapkin
ee8d9ab216
Clarify F.16 enforcement rule about passing by value ( #2008 )
2022-12-15 14:05:14 -08:00
Sergey Zubkov
fb112c7281
make CI happy
2022-12-09 15:13:22 -05:00
Herb Sutter
380a6ff26d
Added span bounds-checking guarantee and a note about its relationship to std::span
2022-12-09 10:38:05 -08:00
Herb Sutter
b435cf54a5
Apply edits to close #1984 #2004 #2006
...
Also removing some stray trailing whitespace on a few unrelated lines
2022-12-08 14:03:45 -08:00
bgloyer
ee368e238e
R.20: 'represent ownership' clean up example and enforcement ( #1992 )
...
* Clean up R.20 example; enforcement
* Clarified enforcement
2022-12-01 14:27:29 -08:00
Andrey Sikorin
b8f13c59a3
Extend "when necessary" explanation ( #2000 )
...
* Extend "when necessary" explanation
* Rephrase sentence
2022-12-01 14:25:21 -08:00
Max FERGER
ae06b0a056
Per: fix some typos ( #1995 )
...
* Per.7: fix typo in example
* Per: improve grammar
* Apply suggestions from code review
2022-12-01 09:15:00 -05:00
Wu Yongwei
efc6f6eabe
ES.2: Fix wrong code logic in the example ( #1999 )
2022-11-26 23:30:16 -05:00
Pluto Yang
cf3eacad1a
SL.io.50: missing backticks ( #1994 )
2022-11-17 10:51:17 -05:00
CFrei
016742b1c0
Fix typo in SL.C.1 link title ( #1991 )
2022-11-11 12:33:27 -05:00
Niels Dekker
bf29c35082
ES.24 (Use a unique_ptr) Example should delete the raw pointer ( #1986 )
...
Without having a `delete p2` statement at the end, the claim that "the object pointed to by `p2` is leaked" would just seem trivial.
2022-10-19 14:29:43 -04:00
Aditya Ardiya
5c1a2b69fb
Fix typo reference to pro-type-union ( #1985 )
...
clang-tidy has [cppcoreguidelines-pro-type-union-access](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/pro-type-union-access.html ) that refers to the pro-type-union. Unfortunately there's an typo. This commit tries to fix the type
2022-10-18 09:22:50 -04:00
Niels Dekker
f4a9420e32
R.5 (scoped objects): Do not warn on a const unique_ptr<T[]> ( #1969 )
...
`unique_ptr<T[]>` is being used in practice to declare a local dynamically allocated buffer.
2022-10-13 14:08:53 -07:00
Niels Dekker
40ce5d12c3
R.5 (scoped objects): Remove auto from Enforcement section ( #1979 )
...
The enforcement rule on "an object is allocated and then deallocated on all paths" is not _specifically_ about objects declared by the `auto` keyword, and `auto` does not just mean "automatic storage duration" anymore.
2022-10-13 14:03:43 -07:00
saimen
8181873753
F.21: fix variable name in example and text ( #1981 )
2022-10-07 17:27:57 -04:00
Sergey Zubkov
65aae3ede6
C.65: clarify pointer move example with comments (issue #1892 )
2022-10-07 09:24:06 -04:00
Sergey Zubkov
0b22b82159
Revert "C.65: more explicit about the badness of bad example"
...
This reverts commit 7ad62600f1 .
2022-10-07 00:53:03 -04:00
Sergey Zubkov
bafb571ade
F.53 add notes about capture of this and non-local pointers
...
closes #1816
2022-10-06 19:17:44 -04:00
Sergey Zubkov
a217a9ff71
F.20 extract unrelated parts into new rule, F.49
...
closes #1862
2022-10-06 19:05:38 -04:00
Sergey Zubkov
7ad62600f1
C.65: more explicit about the badness of bad example
...
closes #1892
2022-10-06 18:57:40 -04:00
Herb Sutter
b22df66453
Closes #1907
2022-09-29 14:28:23 -07:00
Sergey Zubkov
c16373c838
bump date
2022-09-23 00:26:02 -04:00
Sergey Zubkov
5d2c6c9dd2
moved T.140/T.141 to F.10/F.11 leaving redirects behind ( closes #1974 )
2022-09-23 00:25:03 -04:00
Sergey Zubkov
083bca09d6
move SF.1 to NL.27, leaving a redirect behind ( closes #1965 )
2022-09-23 00:18:05 -04:00
Sergey Zubkov
f25df31132
[F.21] address returning expensive-to-copy tuples ( closes #1945 )
2022-09-23 00:04:32 -04:00
Sergey Zubkov
dfaecb2e75
[R.12] disambiguate identifier in examples ( closes #1960 )
2022-09-22 23:42:40 -04:00
Xeverous
71e48cf083
NR.4: fix typo (declaration => definition) ( #1967 )
2022-09-22 14:17:04 -07:00
Andrey Sikorin
af048a07b8
Change = to {} for default member initialization ( #1973 )
...
* Change = to {} for default member initialization
* Remove nullptr
2022-09-22 14:07:34 -07:00
Sergey Zubkov
e1735eaf89
recover link to multimethods paper, closes #1975
2022-09-20 09:05:46 -04:00
Andrey Sikorin
728ed7c65f
Fix Adobe and CERT links ( #1971 )
2022-09-13 11:15:12 -04:00
tocic
4ec7e81ecb
Fix typos ( #1970 )
2022-09-11 23:52:09 -04:00
Sergey Zubkov
9d28e32999
C.87: fix missing access specifiers ( closes #1957 )
2022-08-08 15:39:14 -04:00
Sergey Zubkov
9a95f97f44
C.168: switch example to op+ to avoid side tracking about defaults ( closes #1955 )
2022-08-08 15:19:42 -04:00
Sergey Zubkov
0a7d70851c
F.17: note about passing reference wrappers by value (issue #1948 )
2022-08-08 15:11:33 -04:00
Daniel Kříž
6476b15070
SF.5: prefer relative import to absolute one ( #1944 )
...
Signed-off-by: Daniel Kříž <Daniel.kriz@protonmail.com >
2022-08-08 09:10:57 -07:00
Niels Dekker
1aafa24880
E.15 Clarify when a rethrow would slice to std::exception ( #1949 )
...
Avoided a potential misunderstanding that `throw e` would slice *any* `e` to `std::exception`.
The note about rethrowing appears to be written when the example of this item still did `catch (const exception& e)`, which was prior to commit d568d190f6 , "Generalized E.15, closes #1848 ".
2022-08-08 09:09:41 -07:00
Nikolay Panov
be1722ad0c
[ #1946 ] T.65 Fix two typos ( #1956 )
...
Fixes #1946 :
- copy_trait type argument needs to be a container element type.
Use Value_type<Iter> like in other examples.
- Fix name typo in the definition of copy_helper.
2022-08-08 09:08:45 -07:00
Baiyan Huang
444704f703
C.168 Fix code example ( #1954 )
2022-08-05 08:53:47 -04:00
Nikolay Panov
dca24a0379
T.21 Fix wrong return type ( #1942 )
...
Co-authored-by: Nikolay Panov <pn.interface@gmail.com >
2022-08-02 12:30:21 -04:00
bgloyer
6f27719b2b
C.64 Minor fix to make example compile ( #1939 )
2022-07-18 21:52:16 -04:00