Skip to content

Commit

Permalink
New issue template for bugs related to Nullable Reference Types (#17357)
Browse files Browse the repository at this point in the history
  • Loading branch information
T-Gro authored Jul 8, 2024
1 parent 00f025c commit a11071f
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions .github/ISSUE_TEMPLATE/nullness_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: Nullness-related report
title: 'Nullness issue - ....'
description: Create a report related to nullable reference types handling
labels: [Bug, Needs-Triage,Area-Nullness]
assignees: 'T-Gro'
body:
- type: textarea
attributes:
label: Issue description
description: A concise description of what you're experiencing.
validations:
required: true
- type: markdown
attributes:
value: |
Please check at [Nullable Reference Types RFC](https://github.com/fsharp/fslang-design/blob/main/RFCs/FS-1060-nullable-reference-types.md) if this issue isn't a known limitation, such as missing flow-control analysis after branching constructs like `if` or `while`. Also check at [existing nullness issues](https://github.com/dotnet/fsharp/issues?q=is%3Aissue+label%3AArea-Nullness+) if it hasn't been reported already.
Please provide a succinct description of the issue and choose 1 or more from the following categories of impact
- type: checkboxes
id: categories
attributes:
label: Choose one or more from the following categories of impact
options:
- label: Unexpected nullness warning (false positive in nullness checking, code uses --checknulls and langversion:preview).
- label: Missing nullness warning in a case which can produce nulls (false negative, code uses --checknulls and langversion:preview).
- label: Breaking change related to older `null` constructs in code not using the checknulls switch.
- label: Breaking change related to generic code and explicit type constraints (`null`, `not null`).
- label: Type inference issue (i.e. code worked without type annotations before, and applying the --checknulls enforces type annotations).
- label: C#/F# interop issue related to nullness metadata.
- label: Other (none of the categories above apply).
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
description: What operating system are you running?
options:
- Windows (Default)
- Linux
- macOS
default: 0
validations:
required: true
- type: dropdown
id: dotnet-kind
attributes:
label: What .NET runtime/SDK kind are you seeing the issue on
multiple: false
options:
- .NET SDK (.NET Core, .NET 5+)
- .NET Framework
default: 0
validations:
required: true
- type: input
id: dotnet-version
attributes:
label: .NET Runtime/SDK version
placeholder: e.g. .NET 9 or .NET SDK 9.0.100
- type: textarea
attributes:
label: Reproducible code snippet and actual behavior
description: |
Provide a small code snippet demonstrating the issue. |
If referenced code is needed for the repro and cannot be shared (e.g. a private C# nuget package), try to share at least the metadata annotations from the called type+member as seen in `ilspy.exe`. C# compiler produces attributes like `[Nullable]` and `[NullableContext]`, which is what F# compiler tries to load and interpret in C#/F# interop scenarios.
placeholder: Code snippet
validations:
required: false
- type: textarea
attributes:
label: Possible workarounds
description: |
Are there any language constructs (typically pattern matching, library constructs, Null/NonNull active patterns, explicit type annotations) allowing the same logic be expressed differently in order to mitigate the experienced nullness issue?
placeholder: Possible workaround
validations:
required: false

0 comments on commit a11071f

Please sign in to comment.