Skip to content

Add #nullable enable to all source files#29

Merged
Tyrrrz merged 2 commits intoprimefrom
copilot/add-nullable-enable-to-files
Apr 14, 2026
Merged

Add #nullable enable to all source files#29
Tyrrrz merged 2 commits intoprimefrom
copilot/add-nullable-enable-to-files

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

Enables nullable reference type annotations project-wide by adding #nullable enable to every .cs source file (test files excluded).

Placement rules

  • Files with a file-wide #if preprocessor guard on line 1 (e.g. RegistryExtensions.cs, AsyncEnumerableExtensions.cs, ZipArchiveEntryExtensions.cs) get #nullable enable on line 2, inside the guard scope
  • All other source files get #nullable enable as the first line
// Files with a guard:
#if NETFRAMEWORK || NET5_0_OR_GREATER
#nullable enable
...

// All other files:
#nullable enable
using System;
...

Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/6a802aa9-4826-4828-82c0-deaaadaf2ac3

Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
@Tyrrrz Tyrrrz added the enhancement New feature or request label Apr 14, 2026
@Tyrrrz Tyrrrz marked this pull request as ready for review April 14, 2026 19:58
Copilot AI review requested due to automatic review settings April 14, 2026 19:58
@Tyrrrz
Copy link
Copy Markdown
Owner

Tyrrrz commented Apr 14, 2026

@copilot no need to add #nullable in tests

Agent-Logs-Url: https://github.com/Tyrrrz/PowerKit/sessions/0f9fcc87-8581-49b8-9694-95cea709bcdf

Co-authored-by: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 14, 2026

@copilot no need to add #nullable in tests

Removed #nullable enable from all test files in bfadfbf.

Copilot AI requested a review from Tyrrrz April 14, 2026 20:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds #nullable enable directives across the PowerKit library and test source files to explicitly enable nullable reference type context at the file level (including special placement inside file-wide #if guards).

Changes:

  • Add #nullable enable as the first line of most .cs files in PowerKit/ and PowerKit.Tests/
  • Insert #nullable enable on line 2 for files with a file-wide preprocessor guard (#if ... on line 1)
  • Standardize nullable context activation across shipped source files

Reviewed changes

Copilot reviewed 39 out of 39 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
PowerKit/TempFile.cs Add file-level #nullable enable directive
PowerKit/TempDirectory.cs Add file-level #nullable enable directive
PowerKit/LockFile.cs Add file-level #nullable enable directive
PowerKit/Disposable.cs Add file-level #nullable enable directive
PowerKit/Cell.cs Add file-level #nullable enable directive
PowerKit/Extensions/AggregateExceptionExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ArrayPoolExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/AssemblyExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/AsyncEnumerableExtensions.cs Add #nullable enable inside file-wide #if guard
PowerKit/Extensions/BinaryReaderExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/BinaryWriterExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/BoolExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/CollectionExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ComparableExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ConsoleExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/CultureInfoExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/DateTimeExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/DateTimeOffsetExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/DecimalExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/DirectoryExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/DoubleExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/EncodingExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/EnumerableExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/EnvironmentExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ExceptionExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/FileExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/FunctionalExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/GuidExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/IntExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/LongExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/PathExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ProcessExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/RegistryExtensions.cs Add #nullable enable inside file-wide #if guard
PowerKit/Extensions/StreamExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/StringBuilderExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/StringExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/TextReaderExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/TimeSpanExtensions.cs Add file-level #nullable enable directive
PowerKit/Extensions/ZipArchiveEntryExtensions.cs Add #nullable enable inside file-wide #if guard
PowerKit.Tests/AggregateExceptionExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/ArrayPoolExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/AssemblyExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/AsyncEnumerableExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/BinaryReaderExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/BinaryWriterExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/BoolExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/CellTests.cs Add file-level #nullable enable directive
PowerKit.Tests/CollectionExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/ComparableExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/CultureInfoExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DateTimeExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DateTimeOffsetExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DecimalExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DirectoryExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DisposableTests.cs Add file-level #nullable enable directive
PowerKit.Tests/DoubleExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/EncodingExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/EnumerableExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/ExceptionExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/FileExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/FunctionalExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/GuidExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/IntExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/LockFileTests.cs Add file-level #nullable enable directive
PowerKit.Tests/LongExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/PathExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/ProcessExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/RegistryExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/StreamExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/StringBuilderExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/StringExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/TempDirectoryTests.cs Add file-level #nullable enable directive
PowerKit.Tests/TempFileTests.cs Add file-level #nullable enable directive
PowerKit.Tests/TextReaderExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/TimeSpanExtensionsTests.cs Add file-level #nullable enable directive
PowerKit.Tests/ZipArchiveEntryExtensionsTests.cs Add file-level #nullable enable directive

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread PowerKit/Extensions/RegistryExtensions.cs
Comment thread PowerKit/TempFile.cs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants