Skip to content

Commit 2489726

Browse files
authored
Merge branch 'master' into fix--subscriptions-vs-rstudio.md
2 parents cab98cc + 72a9730 commit 2489726

File tree

2,984 files changed

+30800
-30665
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,984 files changed

+30800
-30665
lines changed

.markdownlint.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
"MD027": false,
2020
"MD028": false,
2121
"MD029": false,
22-
"MD030": false,
2322
"MD031": false,
2423
"MD032": false,
2524
"MD033": {

docs/azure/vs-azure-tools-configure-roles-for-cloud-service.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ The following code shows an example of how to write a text file to local storage
250250

251251
To view the file created by the code in the previous section, follow these steps:
252252

253-
1. In the Windows notification area, right-click the Azure icon, and, from the context menu, select **Show Compute Emulator UI**.
253+
1. In the Windows notification area, right-click the Azure icon, and, from the context menu, select **Show Compute Emulator UI**.
254254

255255
![Show Azure compute emulator](./media/vs-azure-tools-configure-roles-for-cloud-service/show-compute-emulator.png)
256256

docs/code-quality/C26416.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ R.34: Take a shared_ptr\<widget> parameter to express that a function is part ow
2222
Passing a shared pointer by rvalue reference is usually unnecessary. Unless it is an implementation of move semantics for a shared pointer type itself, shared pointer objects can be safely passed by value. Using rvalue reference may be also an indication that unique pointer is more appropriate since it clearly transfers unique ownership from caller to callee.
2323

2424
## Remarks
25-
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26-
- overloaded dereference or member access operators (public and non-deleted);
27-
- copy constructor or copy assignment operator (public and non-deleted);
28-
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
25+
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26+
- overloaded dereference or member access operators (public and non-deleted);
27+
- copy constructor or copy assignment operator (public and non-deleted);
28+
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
2929

3030
## Example
3131
questionable constructor optimization

docs/code-quality/C26417.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ R.35: Take a shared_ptr\<widget>& parameter to express that a function might res
2222
Passing shared pointers by reference may be useful in scenarios where callee code updates target of the smart pointer object and its caller expects to see such update. Using a reference solely to reduce costs of passing a shared pointer is questionable. If callee code only accesses target object and never manages its lifetime, it is safer to pass raw pointer or reference, rather than to expose resource management details.
2323

2424
## Remarks
25-
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26-
- overloaded dereference or member access operators (public and non-deleted);
27-
- copy constructor or copy assignment operator (public and non-deleted);
28-
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
29-
- The action of resetting or reassigning is interpreted in a more generic way:
30-
- any call to a non-constant function on a shared pointer can potentially reset the pointer;
31-
- any call to a function which accepts a reference to a non-constant shared pointer can potentially reset or reassign that pointer.
25+
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26+
- overloaded dereference or member access operators (public and non-deleted);
27+
- copy constructor or copy assignment operator (public and non-deleted);
28+
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
29+
- The action of resetting or reassigning is interpreted in a more generic way:
30+
- any call to a non-constant function on a shared pointer can potentially reset the pointer;
31+
- any call to a function which accepts a reference to a non-constant shared pointer can potentially reset or reassign that pointer.
3232

3333
## Example
3434
unnecessary interface complication

docs/code-quality/C26418.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ R.36: Take a const shared_ptr\<widget>& parameter to express that it might retai
2222
If shared pointer parameter is passed by value or reference to a constant object it is expected that function will take control of its target object’s lifetime without affecting of the caller. The code should either copy or move the shared pointer parameter to another shared pointer object or pass it further to other code by invoking functions which accept shared pointers. If this is not the case, then plain pointer or reference may be feasible.
2323

2424
## Remarks
25-
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26-
- overloaded dereference or member access operators (public and non-deleted);
27-
- copy constructor or copy assignment operator (public and non-deleted);
28-
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
25+
- This check recognizes std::shared_pointer and user-defined types which are likely to behave like shared pointers. The following traits are expected for user-defined shared pointers:
26+
- overloaded dereference or member access operators (public and non-deleted);
27+
- copy constructor or copy assignment operator (public and non-deleted);
28+
- public destructor which is neither deleted nor defaulted. Empty destructors are still counted as user-defined.
2929

3030
## Example
3131
unnecessary interface complication

docs/code-quality/C26432.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ Special operations like constructors are assumed to alter behavior of types so t
2323

2424
## Remarks
2525
- This check implements "the rule of five" which treats the following operations as special:
26-
- copy constructors;
27-
- move constructors;
28-
- copy assignment operators;
29-
- move assignment operators;
30-
- destructors;
31-
- The rule doesn’t check if operations are defined in the same way, i.e. it is okay to mix deleted and defaulted operations with explicitly defined, but they all must be specified somehow if any of them appears.
32-
- Access levels are not important and can also be mixed.
33-
- The warning flags the first non-static function definition of a type, once per type.
26+
- copy constructors;
27+
- move constructors;
28+
- copy assignment operators;
29+
- move assignment operators;
30+
- destructors;
31+
- The rule doesn’t check if operations are defined in the same way, i.e. it is okay to mix deleted and defaulted operations with explicitly defined, but they all must be specified somehow if any of them appears.
32+
- Access levels are not important and can also be mixed.
33+
- The warning flags the first non-static function definition of a type, once per type.

docs/code-quality/C26436.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ If a class defines a virtual function it becomes polymorphic, which implies that
2323

2424
## Remarks
2525
- The warning shows up on the first virtual function definition of a type (it can be a virtual destructor if it is not public), once per type.
26-
- Since definition can be placed separately from declaration, it may not always have any of the virtual specifiers. But the warning is still valid – it checks the actual ‘virtuality’ of a function.
26+
- Since definition can be placed separately from declaration, it may not always have any of the virtual specifiers. But the warning is still valid – it checks the actual ‘virtuality’ of a function.

docs/code-quality/C26439.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ Some kinds of operations should never cause exceptions. Their implementations sh
2323

2424
## Remarks
2525
- Special kinds of operations are the following:
26-
- destructors;
27-
- default constructors;
28-
- move constructors and move assignment operators;
29-
- standard functions with move semantics: std::move and std::swap.
30-
- Non-standard and outdated specifiers like throw() or declspec(nothrow) are not equivalent to ‘noexcept’.
31-
- Explicit specifiers noexcept(false) and noexcept(true) are respected appropriately.
32-
- The warning may still appear for operations that are marked as constexpr. This may change in future releases.
26+
- destructors;
27+
- default constructors;
28+
- move constructors and move assignment operators;
29+
- standard functions with move semantics: std::move and std::swap.
30+
- Non-standard and outdated specifiers like throw() or declspec(nothrow) are not equivalent to ‘noexcept’.
31+
- Explicit specifiers noexcept(false) and noexcept(true) are respected appropriately.
32+
- The warning may still appear for operations that are marked as constexpr. This may change in future releases.

docs/code-quality/C26440.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ If code is not supposed to cause any exceptions, it should be marked as such by
2323

2424
## Remarks
2525
- A function is considered non-throwing if:
26-
- it has no explicit throw statements;
27-
- function calls in its body, if any, invoke only functions that unlikely to throw: constexpr or functions marked with any exception specification which entails non-throwing behavior (this includes some non-standard specifications).
28-
- Non-standard and outdated specifiers like throw() or declspec(nothrow) are not equivalent to ‘noexcept’.
29-
- Explicit specifiers noexcept(false) and noexcept(true) are respected appropriately.
30-
- Functions marked as constexpr are not supposed to cause exceptions and are not analyzed.
31-
- The rule also applies to lambda expressions.
32-
- The logic doesn’t consider recursive calls as potentially non-throwing. This may change in the future.
26+
- it has no explicit throw statements;
27+
- function calls in its body, if any, invoke only functions that unlikely to throw: constexpr or functions marked with any exception specification which entails non-throwing behavior (this includes some non-standard specifications).
28+
- Non-standard and outdated specifiers like throw() or declspec(nothrow) are not equivalent to ‘noexcept’.
29+
- Explicit specifiers noexcept(false) and noexcept(true) are respected appropriately.
30+
- Functions marked as constexpr are not supposed to cause exceptions and are not analyzed.
31+
- The rule also applies to lambda expressions.
32+
- The logic doesn’t consider recursive calls as potentially non-throwing. This may change in the future.

0 commit comments

Comments
 (0)