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.