* final draft of proposal
* fix alloc formal
* resolve ambiguity and fix TODO
* some wording improvements
* apply some feedback after offline review w/ @GabrielDosReis
* Update specification after review from C++ Core Guidelines
- Make sure iterators and references cannot be invalidated by any
operations (besides destruction).
- Update specification to annotate that some functions require certain
language features (ranges and concepts).
- Remove dependence on "Container" named requirements because they
require iterator-invalidating behavior.
- Explicitly add default and move constructors.
- Fix some typos
* Update dyn_array documentation reflecting editors' feedback
Clarified that `gsl::dyn_array` cannot be moved or copied. Updated the FAQ section to emphasize that it is a fixed-size array without iterator/pointer-invalidating operations.
* Update FAQ regarding gsl::dyn_array usage
Clarified the purpose of gsl::dyn_array in the FAQ section.
---------
Co-authored-by: Gabriel Dos Reis <GabrielDosReis@users.noreply.github.com>
Major changes in R1:
- Added SharedOwner concept.
- Added “Diagnostic sensitivity options” section to define a way to
start with zero-false-positive warnings and increasingly opt into
additional diagnostics.
- Changed function annotation syntax to contract-like pre(cond) and
post(cond) syntax, and added that they are implicitly inherited by
virtual overrides.
- Renamed static to global to reduce confusion with the keyword.
- Refined default lifetimes semantics of Pointer-to-Pointer parameters.
* Renamed all appropriate instances of "guideline support library" to "guidelines support library".
* Renamed additional instances of "guideline support library" to "guidelines support library" in remaining files.