Conversation
…bute and ProvidedMeasureBuilder (fixes #170, addresses #67) - technical-notes.md: new sections covering nonNullable, hideObjectMethods, AddCustomAttribute (with correct note that ProvidedConstructor does not support it), and ProvidedMeasureBuilder (SI symbols/names, AnnotateType, compound units, custom units) - BasicErasedProvisionTests.fs: 10 new focused tests covering nonNullable=true/false, hideObjectMethods=true/false, AddCustomAttribute on methods/parameters/types, and ProvidedMeasureBuilder SI/compound/annotation behaviour - All 94 existing tests continue to pass (1 skipped, infrastructure) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Feb 25, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 This PR was created by Repo Assist, an automated AI assistant.
Addresses maintainer requests in #170 (docs + tests) and #67 (docs).
Summary
technical-notes.mdadditionsTwo new sections were added at the end of the technical notes:
Type Definition Properties: nonNullable, hideObjectMethods, and Custom Attributes (addresses #170)
nonNullable = true— how it addsAllowNullLiteralAttribute; how to read backNonNullablehideObjectMethods = true— what it suppresses in IntelliSenseAddCustomAttribute— how to attach custom attribute data to provided types, methods, properties, and parameters; with inlineCustomAttributeDataexamples; clarification thatProvidedConstructordoes not supportAddCustomAttribute(useAddObsoleteAttributeinstead)Units of Measure with ProvidedMeasureBuilder (addresses #67)
ProvidedMeasureBuilder.SI(symbols and names)ProvidedMeasureBuilder.AnnotateTypeProduct,Ratio,Square,Inverse,OneProvidedTypeDefinitionAnnotateTypefor generic types likeVector(float, kg)BasicErasedProvisionTests.fsadditions (10 new tests)Tests for issue #170 topics:
nonNullable=truesetsNonNullableand addsAllowNullLiteralAttributenonNullable=false(default) does not addAllowNullLiteralAttributehideObjectMethods=truesetsHideObjectMethodshideObjectMethods=false(default) leavesHideObjectMethodsfalseAddCustomAttributeon a method is visibleAddCustomAttributeon a parameter is visible (already covered in existingcheck custom attributestest)Tests for issue #67 topics:
ProvidedMeasureBuilder.SIsymbol creates aFSharpTypeAbbreviationProvidedMeasureBuilder.AnnotateTypeproducesIsFSharpUnitAnnotatedProduct,Ratio,Square,Inverse,One) are all non-null and composableFSharpTypeAbbreviationTest Status
All tests pass locally:
(1 skipped test is
lambdas - failing, an existing infrastructure skip unrelated to these changes)