🔀 merge: master into fix/object-and-enum-members-answer-as-dotnet-does
Master gained #958's pages. The EQ2004 row keeps #958's sentences and
remedies and adds this branch's GetType and MemberwiseClone sentence
before the server-API sentence, in all five languages.
📝 docs: spans, named arguments, FormattableString and out delegates (EN, pt-BR, es, fr, de)
SupportedFeatures' Delegates, String Interpolation and TimeSpan rows and
the dates section, and Diagnostics' EQ2004 row, for what Copilot's first
review of #958 fixed.
📝 docs: a delegate built from another is a new function over it (EN, pt-BR, es, fr, de)
SupportedFeatures' Delegates row: new Func<int, int>(f) over a delegate
is a new function that calls f, never f itself, as .NET's new delegate
over its Invoke.
🔀 merge: master into fix/a-name-the-browser-lacks-fails-the-build
🔀 merge: master into fix/object-and-enum-members-answer-as-dotnet-does
📝 docs: a name the browser lacks fails the build or answers as .NET does (EN, pt-BR, es, fr, de)
Diagnostics' EQ2004 row, Compiler's method groups, and SupportedFeatures'
delegates, interpolation, dates and spans, and the BCL table's date rows,
for #822 and #839.
📝 docs: object and enum members answer as .NET does (EN, pt-BR, es, fr, de)
SupportedFeatures gains a row for object's members: the static
object.Equals through its first argument, found by parameter, a value of
a type that refuses every other unequal to one known to be another, an
inherited Equals(object) by reference or through an override, Equals and
ToString refused through null, GetType() and MemberwiseClone() refused by
the build, and, in one sentence, what a list, an array, a tuple or an
enum held as object has lost. The Enums row and the enum row gain Equals,
GetHashCode and the aliased member, the LINQ keys paragraph no longer
says an enum with aliases is not covered, and the StringBuilder row says
Equals(object) compares the reference. Diagnostics names GetType() and
MemberwiseClone() under EQ2004.
📝 docs: the spreadsheet's engine is eQuantic.UI.Sheet, and both hosts hand it their events (EN, pt-BR, es, fr, de)
Components names the engine's assembly and the using a file writes, says neither host calls the
keymap and that the copy chords follow the host's clipboard, adds ISheetSurfaceModel and the grid
the component hands over, and rewrites the interaction wiring as events handed to the model.
Supported Features calls the spreadsheet's types an engine's. Five languages, one commit.
🔀 merge: master into fix/a-pages-boundary-reads-only-what-crosses
📝 docs: a call through a contract a [ServerOnly] method fulfils is refused (EN, pt-BR, es, fr, de)
Diagnostics, Compiler, SupportedFeatures, BuildFlow and ServerIntegration say
that EQ2010 also refuses a call, or a method group, that reaches a
[ServerOnly] method through the interface member it implements or the method
it overrides, wherever its receiver can be the type that keeps it, across the
app and the projects it references: the twin leaves the method out. A call
bound to a method that is not [ServerOnly], a call through base, a call on a
type that cannot hold the method and a contract no client code calls, as
IServerPrefetch's PrefetchAsync, build (#816). Each page changes in every
language it is written in.
🔀 merge: master into fix/a-tostring-group-and-a-composite-key-answer-as-dotnet-does
📝 docs: a page's boundary reads only what crosses (EN, pt-BR, es, fr, de)
Diagnostics, Compiler, SupportedFeatures, BuildFlow and ServerIntegration
say which code is client code: every member of a component its module
holds, stateless or stateful, and every class a page reaches. A Server
Action's body and a [ServerOnly] member are never read as client code,
and a [ServerOnly] method leaves every twin. A server API is told once
where the compiler writes it, by its namespace, never also as EQ2004, and
a class that reads a file is EQ2112. EQ2010 refuses a type of the app the
build writes no module for wherever client code names it, a top-level one
included, and the positions the module writes as nothing are free
(#816, #823). Each page changes in every language it is written in.
📝 docs: a sorted collection answers through live views, and a sorted set gives a view of a range
🔀 merge: master into fix/a-tostring-group-and-a-composite-key-answer-as-dotnet-does
📝 docs: a conformance case fails where the build refuses its code, in the five languages
The SupportedFeatures page says how the conformance harness measures a
case: one whose C# the build refuses fails before either side runs,
naming each refusal, unless it is written to pin that refusal, and then
it asserts the diagnostic's id and runs nothing (#907).
📝 docs: the build flow page reads in Spanish, French and German
The ASCII diagram keeps its frames: the labels are translated and the padding
recomputed, since a label a few characters longer than its box pushes the border
out and the figure stops being a figure.
Also repoints the anchors that other pages aim into this one. They were written
with the English slugs while the translated pages did not exist, so they resolved
to a page and then to nothing: PackageArchitecture and SupportedFeatures in all
three languages.
📝 docs: an enum with aliases is not covered yet (EN, pt-BR, es, fr, de)
📝 docs: a null key matches nothing in a join (EN, pt-BR, es, fr, de)
📝 docs: a LINQ key and a ToString method group answer as .NET does (EN, pt-BR, es, fr, de)
📝 docs: another type, a call through null and a type's own name
SupportedFeatures, in five languages: a tuple's element that is an
array, a list, a dictionary, a set or a delegate writes its type's name,
and so does the value itself, a tuple or an anonymous object of other
element or member types is unequal, and an anonymous object's Equals,
ToString and method groups throw through null. The limits name a value
held as object and one handed to the Equals method group's delegate.
📝 docs: a value held as data through the formatter, and anonymous keys
Styling, in five languages: a Color and a Curve in an aligned hole, a
hole with a format and string.Format write their record text, padded,
where they wrote [object Object]. SupportedFeatures, in five languages:
a set, Distinct and GroupBy find equal anonymous objects one key,
Distinct keeping the first of each.
📝 docs: a tuple's text and an anonymous object's Equals and text are .NET's
SupportedFeatures, in English, Portuguese, Spanish, French and German: a
value tuple writes (1, a) through every route into text, its Equals
method group and a Nullable tuple's Equals compare as the call does, and
a new row says what an anonymous object answers, Equals by its members
of the same set in the same order, == by reference, and its text { A = 1 }.
Both rows name the limit: a value held as object still prints as the
browser holds it. The $eq.text line lists record and tuple.
📝 docs: SupportedFeatures reads in Spanish, French and German
The matrix of supported C# features was written in English and
Portuguese only. It now reads in all five languages of the wiki, and
the language line of the English and Portuguese copies names the
three new ones. The locale sidebars already linked these pages.