Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -367,9 +367,11 @@ are short, and a stale one is worse than none — if you change what a file desc
| [`WhatsNew/version_performance_control.md`](Sources/AngouriMath/Docs/WhatsNew/version_performance_control.md) | the inter-version performance table, and how to add a column |
| `Sources/Analyzers/` | the custom analyzers, including the static-field one behind `[ConstantField]` |

`Docs/Contributing/RS1617Errors.md` is the one exception: it describes adding public members to a
`PublicApi.*.txt`, and neither those files nor the analyzer that wanted them are in the tree any
more. Do not follow it; delete or rewrite it if you are in there anyway.
Anything added for the library's own purposes is not `public` — see
[`Contributing/coding_rules.md`](Sources/AngouriMath/Docs/Contributing/coding_rules.md). Nothing
checks that any more: the `PublicApiAnalyzers` package that required every public member to be
listed in a `PublicApi.*.txt` is gone from the tree, so it is a rule to follow rather than one to
be caught by.

## Where the work is

Expand Down
6 changes: 0 additions & 6 deletions Sources/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,6 @@
# CS0660: 'IntervalPiece' defines operator == or operator != but does not override Object.Equals(object o)
dotnet_diagnostic.CS0660.severity = suggestion

# RS0016: some public method is not mentioned as public API
dotnet_diagnostic.RS0016.severity = error

# RS0017: some method mentioned as public API is not public
dotnet_diagnostic.RS0017.severity = error

# Missing header warning
dotnet_diagnostic.IDE0073.severity = warning

Expand Down
4 changes: 2 additions & 2 deletions Sources/AngouriMath/Docs/Contributing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ If you aren't sure about what to add, you may want to check the current projects
3. <a href="./ImproveParser.md">Improve parser</a>
4. <a href="./Transformations.md">Transformations</a> — the layer the 1.x entry points sit on, and
how to add the next rule set or transformation
5. <a href="./RS1617Errors.md">Adding a public member</a> — out of date; the `PublicApi.*.txt` files
and the analyzer that required them are no longer in the tree
5. <a href="./coding_rules.md">Coding rules</a> — sealed-or-abstract, immutability, and what may be
made `public`

See also <a href="../../../../BREAKING-CHANGES.md">BREAKING-CHANGES.md</a>, where a change that makes
the same input give a different answer is recorded, and
Expand Down
11 changes: 0 additions & 11 deletions Sources/AngouriMath/Docs/Contributing/RS1617Errors.md

This file was deleted.

14 changes: 13 additions & 1 deletion Sources/AngouriMath/Docs/Contributing/coding_rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,16 @@ Each inheritable type is either abstract or sealed.

### Immutability

It should be guaranteed that the user cannot change fields of a record which is inherited from `Entity`.
It should be guaranteed that the user cannot change fields of a record which is inherited from `Entity`.

### Visibility

Anything added for the library's own purposes is not `public`. A type used internally stays
`internal`; a method added to a `public` type stays `internal` or `private` unless it is meant for
callers. `public` is a promise that
[BREAKING-CHANGES.md](../../../../BREAKING-CHANGES.md) then has to keep, so it is worth making
deliberately rather than by default.

This used to be enforced by the `PublicApiAnalyzers` package, which required every public member to
be listed in a `PublicApi.*.txt`. Neither the package nor those files are in the tree any more, so
nothing checks it — which makes it a rule to follow rather than one to be caught by.
Loading