Skip to content

Commit 5becb08

Browse files
committed
reexport the rpc_requests macro in irpc
(when the derive feature is enabled). This is so people don't have to separately import irpc_derive. It used to be a problem bc irpc_derive depended on irpc, but it isn't anymore.
1 parent af100b9 commit 5becb08

File tree

12 files changed

+17
-13
lines changed

12 files changed

+17
-13
lines changed

Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ futures-buffered ={ version = "0.2.9", optional = true }
4141
# for AbortOnDropHandle
4242
n0-future = { workspace = true }
4343
futures-util = { workspace = true, optional = true }
44+
# for the derive reexport/feature
45+
irpc-derive = { version = "0.2.3", path = "./irpc-derive", optional = true }
4446

4547
[target.'cfg(not(all(target_family = "wasm", target_os = "unknown")))'.dependencies]
4648
quinn = { workspace = true, optional = true, features = ["runtime-tokio"] }
4749

4850
[dev-dependencies]
4951
tracing-subscriber = { workspace = true, features = ["fmt"] }
50-
# used in the derive example. This must not be a main crate dep or else it will be circular!
51-
irpc-derive = { version = "0.2.3", path = "./irpc-derive" }
5252
# just convenient for the enum definitions, in the manual example
5353
derive_more = { version = "2", features = ["from"] }
5454
# we need full for example main etc.
@@ -66,7 +66,8 @@ quinn_endpoint_setup = ["rpc", "dep:rustls", "dep:rcgen", "dep:anyhow", "dep:fut
6666
# pick up parent span when creating channel messages
6767
message_spans = ["dep:tracing"]
6868
stream = ["dep:futures-util"]
69-
default = ["rpc", "quinn_endpoint_setup", "message_spans", "stream"]
69+
derive = ["dep:irpc-derive"]
70+
default = ["rpc", "quinn_endpoint_setup", "message_spans", "stream", "derive"]
7071

7172
[workspace]
7273
members = ["irpc-derive", "irpc-iroh"]

examples/compute.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ use irpc::{
1111
rpc::{listen, Handler},
1212
util::{make_client_endpoint, make_server_endpoint},
1313
Client, LocalSender, Request, Service, WithChannels,
14+
rpc_requests,
1415
};
15-
use irpc_derive::rpc_requests;
1616
use n0_future::{
1717
stream::StreamExt,
1818
task::{self, AbortOnDropHandle},

examples/derive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ use anyhow::{Context, Result};
88
use irpc::{
99
channel::{oneshot, spsc},
1010
rpc::Handler,
11+
rpc_requests,
1112
util::{make_client_endpoint, make_server_endpoint},
1213
Client, Error, LocalSender, Service, WithChannels,
1314
};
1415
// Import the macro
15-
use irpc_derive::rpc_requests;
1616
use n0_future::task::{self, AbortOnDropHandle};
1717
use serde::{Deserialize, Serialize};
1818
use tracing::info;

irpc-iroh/examples/derive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ mod storage {
6363
channel::{oneshot, spsc},
6464
rpc::Handler,
6565
Client, LocalSender, Service, WithChannels,
66+
rpc_requests,
6667
};
6768
// Import the macro
68-
use irpc_derive::rpc_requests;
6969
use irpc_iroh::{IrohProtocol, IrohRemoteConnection};
7070
use serde::{Deserialize, Serialize};
7171
use tracing::info;

src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@
7878
#![cfg_attr(quicrpc_docsrs, feature(doc_cfg))]
7979
use std::{fmt::Debug, future::Future, io, marker::PhantomData, ops::Deref};
8080

81+
#[cfg(feature = "derive")]
82+
#[cfg_attr(quicrpc_docsrs, doc(cfg(feature = "derive")))]
83+
pub use irpc_derive::rpc_requests;
8184
use sealed::Sealed;
8285
use serde::{de::DeserializeOwned, Serialize};
8386

tests/compile_fail/duplicate_type.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use irpc_derive::rpc_requests;
1+
use irpc::rpc_requests;
22

33
#[rpc_requests(Service, Msg)]
44
enum Enum {

tests/compile_fail/extra_attr_types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use irpc_derive::rpc_requests;
1+
use irpc::rpc_requests;
22

33
#[rpc_requests(Service, Msg)]
44
enum Enum {

tests/compile_fail/multiple_fields.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use irpc_derive::rpc_requests;
1+
use irpc::rpc_requests;
22

33
#[rpc_requests(Service, Msg)]
44
enum Enum {

tests/compile_fail/named_enum.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use irpc_derive::rpc_requests;
1+
use irpc::rpc_requests;
22

33
#[rpc_requests(Service, Msg)]
44
enum Enum {

tests/compile_fail/non_enum.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use irpc_derive::rpc_requests;
1+
use irpc::rpc_requests;
22

33
#[rpc_requests(Service, Msg)]
44
struct Foo;

0 commit comments

Comments
 (0)