Skip to content

Conversation

@adityamandaleeka
Copy link
Member

LeakTrackingObjectPool doesn't work on release builds, and nothing else depends on it, so we've chosen to mark it (and LeakTrackingObjectPoolProvider) obsolete.

Address #42524

/// </para>
/// </summary>
/// <typeparam name="T">The type of object which is being pooled.</typeparam>
[Obsolete("LeakTrackingObjectPool<T> was only intended for use in diagnostic builds and may be removed in a future release.")]
Copy link

@daiplusplus daiplusplus Aug 6, 2022

Choose a reason for hiding this comment

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

The text "was only intended for use in diagnostic builds" can be interpreted as referring to the user's diag builds of user-code, not Microsoft's builds of the CLR+EE.

I'd phrase it like this, perhaps:

"LeakTrackingObjectPool is only functional in diagnostic builds of the .NET CLR and EE. It does not function in GA/release builds of .NET used by the general public. This type may be removed in a future release."

Copy link
Member Author

@adityamandaleeka adityamandaleeka Aug 8, 2022

Choose a reason for hiding this comment

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

Thanks @Jehoel. It doesn't actually need a special CLR build to work, but I understand your feedback. How about:

LeakTrackingObjectPool<T> was only intended for use in diagnostic builds of .NET. It does not function in any publicly shipped .NET versions and may be removed in a future release.

Choose a reason for hiding this comment

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

👍

Comment on lines 19 to 20
Copy link
Member

@halter73 halter73 Aug 9, 2022

Choose a reason for hiding this comment

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

Suggested change
[Obsolete("LeakTrackingObjectPool<T> was only intended for internal use in diagnostic builds of .NET. It does not " +
"function in any publicly shipped .NET versions and may be removed in a future release.")]
[Obsolete("LeakTrackingObjectPool<T> was only intended for internal use in diagnostic builds of .NET. It never " +
"functioned in any publicly shipped .NET version and may be removed in a future release.")]

Comment on lines 12 to 13
Copy link
Member

@halter73 halter73 Aug 9, 2022

Choose a reason for hiding this comment

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

Suggested change
[Obsolete("LeakTrackingObjectPoolProvider was only intended for internal use in diagnostic builds of .NET. It does not " +
"function in any publicly shipped .NET versions and may be removed in a future release.")]
[Obsolete("LeakTrackingObjectPoolProvider was only intended for internal use in diagnostic builds of .NET. It never " +
"functioned in any publicly shipped .NET version and may be removed in a future release.")]

@adityamandaleeka adityamandaleeka force-pushed the obsolete_leaktrackingobjectpool branch from 4590427 to 675c5fd Compare August 9, 2022 00:20
@adityamandaleeka adityamandaleeka enabled auto-merge (squash) August 9, 2022 00:22
@adityamandaleeka adityamandaleeka merged commit c86a82b into dotnet:main Aug 9, 2022
@ghost ghost added this to the 7.0-rc1 milestone Aug 9, 2022
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants