Skip to content

chore: add #[non_exhaustive] to public enums/structs#694

Draft
jamadeo wants to merge 1 commit intomainfrom
jamadeo/backwards-compatibility
Draft

chore: add #[non_exhaustive] to public enums/structs#694
jamadeo wants to merge 1 commit intomainfrom
jamadeo/backwards-compatibility

Conversation

@jamadeo
Copy link
Contributor

@jamadeo jamadeo commented Feb 26, 2026

In preparation for a 1.0 release, we should use #[non_exaustive] for most public structs/enums to help reduce backwards-incompatible changes.

It may not be appropriate in every case.

Motivation and Context

This will prevent clients from writing code that will break and require updates in future versions.

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@github-actions github-actions bot added T-test Testing related changes T-core Core library changes T-handler Handler implementation changes T-model Model/data structure changes T-service Service layer changes T-transport Transport layer changes labels Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T-core Core library changes T-handler Handler implementation changes T-model Model/data structure changes T-service Service layer changes T-test Testing related changes T-transport Transport layer changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant