-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Description
Championed proposal: dotnet/csharplang#6420
Speclet: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-13.0/partial-properties.md
Feature branch: https://github.com/dotnet/roslyn/tree/features/partial-properties
Compiler
- LangVersion (
LangVersion_01) - A missing or extra declaration or implementation (
MissingDeclaration_*,DuplicateDeclaration_*) - Accessor mismatch (get/set missing in either declaration or implementation) (
MissingAccessor_*,UnexpectedAccessor_*) - set vs. init (
AccessorKind_*) - readonly vs. not (
ModifierDifference_Readonly_Accessors) - Accessors split across two declarations or implementations (
DuplicateDeclaration_08, split implementation but not split definition) -
externpart is considered implementation - Differences in return or parameter types (
TypeDifference_*,NullableDifference_*,Indexers_*)- tuple names
- nullability (warning regardless of nullability context and warning wave)
- ref kind (
RefKindDifference_*) - alias usage (
AliasDifference) -
params(ParamsDifference_*) - optional parameters (only definition counts, implementation warns,
OptionalParameters_*) - parameter names (warning,
IndexerParameterNameDifference)
- static vs. non-static (
StaticDifference) - virtual/override/sealed differences (
ExtendedDifference_01) -
abstractis disallowed (Abstract) - unsafe (
UnsafeDifference_*) -
required(Required_*) - Different accessibilities, explicit vs. default accessibility (
ModifierDifference_Accessibility_*) -
scoped(ScopedDifference_*,Semantics_Scoped) - explicit interface implementation is disallowed (
ExplicitImplementation) - only in
partialtype (NotInPartialType) - Attributes (
Attributes_*)- Attributes on both parts
- field-targeted attribute on declaration
- nullability attribute differences
- caller attributes
- obsolete (
Obsolete_*) - UnmanagedCallersOnly
- public API (
PartialDefinitionPart,PartialImplementationPartandIsPartialDefinitionon property symbol,AssociatedSymbolon accessors,GetDeclaredSymbol) (GetDeclaredSymbol_*) - nullability analysis of accessor bodies against correct signature (
AllowNull_*,NullableDifference_Analysis) - xml docs (
PartialProperties_*) - Overrides (
Semantics_ExtendedModifier) - Override a property where the base has a modopt Partial properties: merging declarations and emit of simple cases #72999 (comment)
- EnC (EnC: Implement support for partial properties #74494)
Productivity
- IDE minbar (completion, QuickInfo, formatting, colorization, no crashes in manual test pass)
- GoToDefinition/GoToImplementation
Reactions are currently unavailable