Skip to content

Remove excessive conformance of Value.init(:) parameter to Codable#227

Open
samkudr wants to merge 1 commit into
modelcontextprotocol:mainfrom
samkudr:ValueInit
Open

Remove excessive conformance of Value.init(:) parameter to Codable#227
samkudr wants to merge 1 commit into
modelcontextprotocol:mainfrom
samkudr:ValueInit

Conversation

@samkudr
Copy link
Copy Markdown
Contributor

@samkudr samkudr commented May 20, 2026

Value.init(:) requires its parameter to conform to Codable but actually it needs just Encodable value.

Motivation and Context

The current requirement is literally excessive: the initializer encodes the incoming value to Value, the same way JSONEncoder encodes the incoming value to Data.

How Has This Been Tested?

In my project I was forced to extend conformance of some types to Decodable also, while knowing that it is never used.

Breaking Changes

No.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant