The rmcp lib test target does not build without the macros feature
Les mainteneurs répondent en général sous 3 jours
@DaleSeo y travaille déjà.
Depuis le 4/10/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
object! is #[macro_export]ed and documented from model.rs:42, but model.rs:60 puts it behind the macros feature, so it is unreachable in a --no-default-features build. The lib test target is where that shows on 8f9a28e: four unit tests call the macro.
$ cd /tmp/rmcp-main && cargo check -p rmcp --lib --no-default-features --profile test
# rustc 1.96.1 (31fca3adb 2026-06-26), the pinned rust-toolchain.toml, on 8f9a28e
error: cannot find macro `object` in this scope
--> crates/rmcp/src/model.rs:5529:17
note: `object` is imported here, but it is a function, not a macro
--> crates/rmcp/src/model.rs:4837:9
error: could not compile `rmcp` (lib test) due to 4 previous errors # :5459 :5488 :5503 :5529
$ cargo check -p rmcp --lib --no-default-features --features macros --profile test
Finished `test` profile [unoptimized + debuginfo] target(s) in 7.63s
# same export, `#[cfg(feature = "macros")]` deleted from model.rs:60, nothing else touched
$ cargo test -p rmcp --lib --no-default-features
test result: ok. 139 passed; 0 failed; 0 ignored
# not run: the integration targets under crates/rmcp/tests, and any host other than Linux
The expansion is serde_json::json! around the ungated model::object function, serde_json is a plain dependency, and macros is dep:rmcp-macros + dep:pastey. Deleting the gate is the one-line option. Keeping it means object(json!({ ... })) at the four call sites, or a #[cfg(feature = "macros")] on the four #[test] functions.
Dropping --lib fails too, in 13 integration targets, on missing server/client items. Different cause, and none of the above fixes it.
@DaleSeo, the feature-matrix job on feat/rationalize-feature-flags (#1067) runs cargo check, which never builds a test target, and ci.yml:268 and :302 both enable macros. Would --profile test on that job, or a cargo test -p rmcp --lib --no-default-features line beside it, be the right home for this?
- Langage dominant
- Rust
- Étoiles
- 4.1k
- Forks
- 680
- Merge moyen
- 3 j 15 h
- PR mergées (30 j)
- 34
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de modelcontextprotocol/rust-sdk
-
auth: refresh_token() requests offline_access that was never granted, so refreshes fail with invalid_scopePeut-être pris @jstar0 l’a pris il y a 20 jours. Ouvertebug P1 ready for work T-security T-transport
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
modelcontextprotocol/rust-sdk#1330 ·
Les mainteneurs répondent en général sous 3 jours
-
Auto discovery timeout rejects a late probe response during legacy initializationPeut-être pris @gocamille l’a pris il y a 1 jour. Ouvertebug P1 ready for work T-service
modelcontextprotocol/rust-sdk#1400 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
-
URL mode elicitation requires elicitationId, which the 2026-07-28 schema removedPeut-être pris @gocamille l’a pris il y a 1 jour. Ouvertebug P1 ready for work T-model
modelcontextprotocol/rust-sdk#1399 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
-
stdio transport: a request over the maximum line length gets no answerPeut-être pris @gocamille l’a pris il y a 2 jours. Ouvertebug P1 ready for work T-transport
modelcontextprotocol/rust-sdk#1395 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
-
docs: ClientHandler list_changed callbacks don't mention Peer::listen (2026-07-28)Peut-être pris @DaleSeo l’a pris il y a 4 jours. Ouverteenhancement P2 ready for work T-documentation
modelcontextprotocol/rust-sdk#1394 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 3 jours
Toutes les issues de modelcontextprotocol/rust-sdk
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
haowjy/mars-agents#295 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
rivetkit 3.0: HTTP 400 overloaded on node pool upsert is treated as fatal and exits the processOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
rivet-dev/rivet#5933 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
needs-verification
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
EchoTools/nevr-runtime#1272 ·
Les mainteneurs répondent en général sous 1 jour
-
Add a `--skip-readme` option to `gleam new`Peut-être pris @mine-tech-oficial l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
gleam-lang/gleam#6458 · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour