Repository navigation
Conversation
rmcp 3.4 deprecated the ServerInfo alias in favor of ServerConfig, both naming InitializeResult, so get_info returned a deprecated type and every build printed three warnings. The 3.4.0 bump merged green with them because a rustc warning fails nothing here: clippy::all is denied, but deprecated is a rustc lint, and no gate passes -D warnings. get_info now returns ServerConfig. Both rmcp requirements move from "3" to "3.4", since ServerConfig does not exist in 3.3.0 and an unlocked build resolving below 3.4 would no longer compile. The two comments that quoted the old requirement now quote the new one. [lints.rust] gains deprecated = "deny", so the next dependency bump that deprecates something this crate calls fails on the bump itself. It is narrower than denying all warnings on purpose: CI installs a floating stable toolchain, and a new warn-by-default rustc lint would otherwise turn every lane red, including the release build. Putting one ServerInfo back fails the build with the deprecation error.
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.
rmcp 3.4 deprecated the ServerInfo alias in favor of ServerConfig (both name InitializeResult), so every build printed three deprecation warnings from get_info. The 3.4.0 bump (#35) merged green with them, because clippy::all is denied but deprecated is a rustc lint and no gate passes -D warnings.
get_info now returns ServerConfig, and both rmcp requirements move from "3" to "3.4", since ServerConfig does not exist in 3.3.0. [lints.rust] gains deprecated = "deny", so the next dependency bump that deprecates something this crate calls fails on the bump itself. It is deliberately narrower than denying all warnings: CI installs a floating stable toolchain, and a new warn-by-default rustc lint would otherwise turn every lane red, including the release build.
Verified with scripts/run-gates.sh on macOS against Frama-C 33: all 18 gates passed (unit 651, test-mcp-stdio 157, lifecycle 40). make build and cargo clippy --all-targets are warning-free. As a negative control, putting one ServerInfo back fails the build with the deprecation error.
Summary by cubic
Moves the MCP server off rmcp's deprecated
ServerInfotype and denies thedeprecatedlint so future deprecations fail the build instead of slipping through.ServerConfigfirst appears, and updatesget_infoto return it.deprecated = "deny"under[lints.rust], deliberately narrower than denying all warnings so a new warn-by-default rustc lint on a floating stable toolchain doesn't turn every lane red.ServerInfofails the build with the deprecation error.Written for commit 8b271fc. Summary will update on new commits.