Skip to content

Commit e67423a

Browse files
committed
Address review comments
1 parent cca762c commit e67423a

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

doc/README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ API-breaking changes and `MAJOR.MINOR.PATCH` versions:
5151
- although these are public versions, they are not used by default unless
5252
opting into using a pre-release on the specific `MAJOR.MINOR.PATCH`
5353
version
54-
- pre-releases are considered semantically less than their stem (e.g.
55-
Cargo may automatically upgrade from `0.5.0-pre.0` to `0.5.0`)
54+
- pre-releases are considered semantically less than their final release
55+
(e.g. Cargo may automatically upgrade from `0.5.0-pre.0` to `0.5.0`)
5656
- all pre-release versions are unstable and may make any change
5757
- we make no commitment to support users of pre-releases
5858

@@ -68,8 +68,12 @@ functionality is supposed to be non-deterministic (i.e. depend on something
6868
external). Some functionality may be deterministic but not value-stable.
6969

7070
A trait should define which of its functions are expected to be value-stable.
71-
A type (e.g. a PRNG) is value-stable if all implementations of trait functions
72-
for that type are value-stable where expected to be.
71+
An implementation of a trait must meet those stability requirements, unless the
72+
object for which the trait is implemented is explicitly not value-stable.
73+
As an example, `SeedableRng::from_seed` is required to be value-stable, but
74+
`SeedableRng::from_rng` is not. RNGs implementing the trait are value-stable
75+
when they guarantee `SeedableRng::from_seed` is value-stable, while
76+
`SeedableRng::from_rng` may receive optimisations.
7377

7478
Before 1.0, we allow any new *minor* version to break value-stability, though
7579
we do expect such changes to be mentioned in the changelog. Post 1.0 we have
@@ -132,12 +136,11 @@ consider such requests in regards to several things:
132136
- scope of the project
133137
- reception and third-party review of the algorithm
134138

135-
In general, we expect:
139+
In general, we expect the following, though we may make exceptions:
136140

137141
- the author of the algorithm to publish an article of some type (e.g.
138142
a scientific article or web page) introducing the new algorithm and
139143
discussing its utility, strengths and weaknesses
140144
- review of statistical quality and any special features by third parties
141-
- good performance in automated test suites like PractRand, TestU01 and
142-
BigCrush, (unless for some reason this is not expected, e.g. a mock
143-
generator)
145+
- good performance in automated test suites like PractRand and TestU01
146+
(unless for some reason this is not expected, e.g. a mock generator)

0 commit comments

Comments
 (0)