tokio-xmpp/Cargo.toml 🔗
@@ -26,5 +26,8 @@ trust-dns-proto = "0.19"
xml5ever = "0.16"
xmpp-parsers = "0.17"
+[build-dependencies]
+rustc_version = "0.3"
+
[features]
serde = ["xmpp-parsers/serde"]
Astro created
tokio-xmpp/Cargo.toml | 3 +++
tokio-xmpp/build.rs | 11 +++++++++++
tokio-xmpp/src/xmpp_stream.rs | 8 ++++----
3 files changed, 18 insertions(+), 4 deletions(-)
@@ -26,5 +26,8 @@ trust-dns-proto = "0.19"
xml5ever = "0.16"
xmpp-parsers = "0.17"
+[build-dependencies]
+rustc_version = "0.3"
+
[features]
serde = ["xmpp-parsers/serde"]
@@ -0,0 +1,11 @@
+use rustc_version::version;
+
+fn main() {
+ let version = version().unwrap();
+
+ for major in 1..=version.major {
+ for minor in 0..=version.minor {
+ println!("cargo:rustc-cfg=rustc_least_{}_{}", major, minor);
+ }
+ }
+}
@@ -88,19 +88,19 @@ impl<S: AsyncRead + AsyncWrite + Unpin> Sink<Packet> for XMPPStream<S> {
Poll::Ready(Ok(()))
}
- fn start_send(mut self: Pin<&mut Self>, item: Packet) -> Result<(), Self::Error> {
+ fn start_send(#[cfg_attr(rustc_least_1_48, allow(unused_mut))] mut self: Pin<&mut Self>, item: Packet) -> Result<(), Self::Error> {
Pin::new(&mut self.stream.lock().unwrap().deref_mut())
.start_send(item)
.map_err(|e| e.into())
}
- fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), Self::Error>> {
+ fn poll_flush(#[cfg_attr(rustc_least_1_48, allow(unused_mut))] mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), Self::Error>> {
Pin::new(&mut self.stream.lock().unwrap().deref_mut())
.poll_flush(cx)
.map_err(|e| e.into())
}
- fn poll_close(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), Self::Error>> {
+ fn poll_close(#[cfg_attr(rustc_least_1_48, allow(unused_mut))] mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<(), Self::Error>> {
Pin::new(&mut self.stream.lock().unwrap().deref_mut())
.poll_close(cx)
.map_err(|e| e.into())
@@ -111,7 +111,7 @@ impl<S: AsyncRead + AsyncWrite + Unpin> Sink<Packet> for XMPPStream<S> {
impl<S: AsyncRead + AsyncWrite + Unpin> Stream for XMPPStream<S> {
type Item = Result<Packet, crate::Error>;
- fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>> {
+ fn poll_next(#[cfg_attr(rustc_least_1_48, allow(unused_mut))] mut self: Pin<&mut Self>, cx: &mut Context) -> Poll<Option<Self::Item>> {
Pin::new(&mut self.stream.lock().unwrap().deref_mut())
.poll_next(cx)
.map(|result| result.map(|result| result.map_err(|e| e.into())))