Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix warnings on Rust 1.37.0 #1095

Merged
merged 3 commits into from
Jul 13, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ task:
setup_script:
- pkg install -y curl
- curl https://sh.rustup.rs -sSf --output rustup.sh
- sh rustup.sh -y --default-toolchain 1.25.0
- sh rustup.sh -y --default-toolchain 1.31.0
- $HOME/.cargo/bin/rustup target add i686-unknown-freebsd
amd64_test_script:
- . $HOME/.cargo/env
Expand Down
52 changes: 26 additions & 26 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,71 +18,71 @@ matrix:
# week. Additionally they're moved to the front of the line to get them in
# the Travis OS X build queue first.
- env: TARGET="aarch64-apple-ios;armv7-apple-ios;armv7s-apple-ios;i386-apple-ios;x86_64-apple-ios" DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
os: osx

# Mac builds
# These are also moved to be first because they wait in a long queue with
# Travis
- env: TARGET=i686-apple-darwin
rust: 1.25.0
rust: 1.31.0
os: osx
- env: TARGET=x86_64-apple-darwin
rust: 1.25.0
rust: 1.31.0
os: osx

# Android
- env: TARGET=aarch64-linux-android DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=arm-linux-androideabi DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=i686-linux-android DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=x86_64-linux-android DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0

# Linux
- env: TARGET=aarch64-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=arm-unknown-linux-gnueabi
rust: 1.25.0
rust: 1.31.0
- env: TARGET=arm-unknown-linux-musleabi DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=armv7-unknown-linux-gnueabihf
rust: 1.25.0
rust: 1.31.0
- env: TARGET=i686-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=i686-unknown-linux-musl
rust: 1.25.0
rust: 1.31.0
- env: TARGET=mips-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=mips64-unknown-linux-gnuabi64
rust: 1.25.0
rust: 1.31.0
- env: TARGET=mips64el-unknown-linux-gnuabi64
rust: 1.25.0
rust: 1.31.0
- env: TARGET=mipsel-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=powerpc-unknown-linux-gnu DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=powerpc64-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=powerpc64le-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=s390x-unknown-linux-gnu DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0
- env: TARGET=x86_64-unknown-linux-gnu
rust: 1.25.0
rust: 1.31.0
- env: TARGET=x86_64-unknown-linux-musl
rust: 1.25.0
rust: 1.31.0

# *BSD
# FreeBSD i686 and x86_64 use Cirrus instead of Travis
# - env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1
# - env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
- env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
rust: 1.25.0
rust: 1.31.0

# Make sure stable is always working too
- env: TARGET=x86_64-unknown-linux-gnu
Expand All @@ -94,7 +94,7 @@ matrix:
- rust: nightly
script:
- cargo update -Zminimal-versions
- cargo build
- cargo check

before_install: set -e

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
### Changed
- Support for `ifaddrs` now present when building for Android.
([#1077](https://github.com/nix-rust/nix/pull/1077))
- Minimum supported Rust version is now 1.25.0
- Minimum supported Rust version is now 1.31.0
([#1035](https://github.com/nix-rust/nix/pull/1035))
([#1095](https://github.com/nix-rust/nix/pull/1095))
- Now functions `statfs()` and `fstatfs()` return result with `Statfs` wrapper
([#928](https://github.com/nix-rust/nix/pull/928))

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ Tier 2:

## Usage

`nix` requires Rust 1.25.0 or newer.
`nix` requires Rust 1.31.0 or newer.

To use `nix`, first add this to your `Cargo.toml`:

Expand Down
2 changes: 1 addition & 1 deletion src/features.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ mod os {
b'.' | b'-' => {
curr += 1;
}
b'0'...b'9' => {
b'0'..=b'9' => {
match curr {
0 => digit(&mut major, b),
1 => digit(&mut minor, b),
Expand Down
2 changes: 2 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#![deny(unstable_features)]
#![deny(missing_copy_implementations)]
#![deny(missing_debug_implementations)]
// XXX Allow deprecated items until release 0.16.0. See issue #1096.
#![allow(deprecated)]

// External crates
#[macro_use]
Expand Down
4 changes: 2 additions & 2 deletions src/sched.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ mod sched_linux_like {
}
}

pub type CloneCb<'a> = Box<FnMut() -> isize + 'a>;
pub type CloneCb<'a> = Box<dyn FnMut() -> isize + 'a>;

#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
Expand Down Expand Up @@ -113,7 +113,7 @@ mod sched_linux_like {
let ptr_aligned = ptr.offset((ptr as usize % 16) as isize * -1);
libc::clone(
mem::transmute(
callback as extern "C" fn(*mut Box<::std::ops::FnMut() -> isize>) -> i32,
callback as extern "C" fn(*mut Box<dyn FnMut() -> isize>) -> i32,
),
ptr_aligned as *mut c_void,
combined,
Expand Down
24 changes: 12 additions & 12 deletions src/sys/aio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ pub enum Buffer<'a> {
/// Keeps a reference to a slice
Phantom(PhantomData<&'a mut [u8]>),
/// Generic thing that keeps a buffer from dropping
BoxedSlice(Box<Borrow<[u8]>>),
BoxedSlice(Box<dyn Borrow<[u8]>>),
/// Generic thing that keeps a mutable buffer from dropping
BoxedMutSlice(Box<BorrowMut<[u8]>>),
BoxedMutSlice(Box<dyn BorrowMut<[u8]>>),
}

impl<'a> Debug for Buffer<'a> {
Expand All @@ -116,14 +116,14 @@ impl<'a> Debug for Buffer<'a> {
Buffer::None => write!(fmt, "None"),
Buffer::Phantom(p) => p.fmt(fmt),
Buffer::BoxedSlice(ref bs) => {
let borrowed : &Borrow<[u8]> = bs.borrow();
let borrowed : &dyn Borrow<[u8]> = bs.borrow();
write!(fmt, "BoxedSlice({:?})",
borrowed as *const Borrow<[u8]>)
borrowed as *const dyn Borrow<[u8]>)
},
Buffer::BoxedMutSlice(ref bms) => {
let borrowed : &BorrowMut<[u8]> = bms.borrow();
let borrowed : &dyn BorrowMut<[u8]> = bms.borrow();
write!(fmt, "BoxedMutSlice({:?})",
borrowed as *const BorrowMut<[u8]>)
borrowed as *const dyn BorrowMut<[u8]>)
}
}
}
Expand Down Expand Up @@ -165,7 +165,7 @@ impl<'a> AioCb<'a> {
///
/// It is an error to call this method while the `AioCb` is still in
/// progress.
pub fn boxed_slice(&mut self) -> Option<Box<Borrow<[u8]>>> {
pub fn boxed_slice(&mut self) -> Option<Box<dyn Borrow<[u8]>>> {
assert!(!self.in_progress, "Can't remove the buffer from an AioCb that's still in-progress. Did you forget to call aio_return?");
if let Buffer::BoxedSlice(_) = self.buffer {
let mut oldbuffer = Buffer::None;
Expand All @@ -187,7 +187,7 @@ impl<'a> AioCb<'a> {
///
/// It is an error to call this method while the `AioCb` is still in
/// progress.
pub fn boxed_mut_slice(&mut self) -> Option<Box<BorrowMut<[u8]>>> {
pub fn boxed_mut_slice(&mut self) -> Option<Box<dyn BorrowMut<[u8]>>> {
assert!(!self.in_progress, "Can't remove the buffer from an AioCb that's still in-progress. Did you forget to call aio_return?");
if let Buffer::BoxedMutSlice(_) = self.buffer {
let mut oldbuffer = Buffer::None;
Expand Down Expand Up @@ -448,12 +448,12 @@ impl<'a> AioCb<'a> {
/// ```
///
/// [`from_slice`]: #method.from_slice
pub fn from_boxed_slice(fd: RawFd, offs: off_t, buf: Box<Borrow<[u8]>>,
pub fn from_boxed_slice(fd: RawFd, offs: off_t, buf: Box<dyn Borrow<[u8]>>,
prio: libc::c_int, sigev_notify: SigevNotify,
opcode: LioOpcode) -> AioCb<'a> {
let mut a = AioCb::common_init(fd, prio, sigev_notify);
{
let borrowed : &Borrow<[u8]> = buf.borrow();
let borrowed : &dyn Borrow<[u8]> = buf.borrow();
let slice : &[u8] = borrowed.borrow();
a.aio_nbytes = slice.len() as size_t;
a.aio_buf = slice.as_ptr() as *mut c_void;
Expand Down Expand Up @@ -516,12 +516,12 @@ impl<'a> AioCb<'a> {
/// [`from_boxed_slice`]: #method.from_boxed_slice
/// [`from_mut_slice`]: #method.from_mut_slice
pub fn from_boxed_mut_slice(fd: RawFd, offs: off_t,
mut buf: Box<BorrowMut<[u8]>>,
mut buf: Box<dyn BorrowMut<[u8]>>,
prio: libc::c_int, sigev_notify: SigevNotify,
opcode: LioOpcode) -> AioCb<'a> {
let mut a = AioCb::common_init(fd, prio, sigev_notify);
{
let borrowed : &mut BorrowMut<[u8]> = buf.borrow_mut();
let borrowed : &mut dyn BorrowMut<[u8]> = buf.borrow_mut();
let slice : &mut [u8] = borrowed.borrow_mut();
a.aio_nbytes = slice.len() as size_t;
a.aio_buf = slice.as_mut_ptr() as *mut c_void;
Expand Down
2 changes: 1 addition & 1 deletion src/sys/socket/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ pub fn sendmsg(fd: RawFd, iov: &[IoVec<&[u8]>], cmsgs: &[ControlMessage],
/// # References
/// [recvmsg(2)](http://pubs.opengroup.org/onlinepubs/9699919799/functions/recvmsg.html)
pub fn recvmsg<'a>(fd: RawFd, iov: &[IoVec<&mut [u8]>],
cmsg_buffer: Option<&'a mut CmsgBuffer>,
cmsg_buffer: Option<&'a mut dyn CmsgBuffer>,
flags: MsgFlags) -> Result<RecvMsg<'a>>
{
let mut address: sockaddr_storage = unsafe { mem::uninitialized() };
Expand Down
23 changes: 11 additions & 12 deletions test/sys/test_socket.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use nix::sys::socket::{InetAddr, UnixAddr, getsockname};
use nix::ifaddrs::InterfaceAddress;
use nix::sys::socket::{AddressFamily, InetAddr, UnixAddr, getsockname};
use std::collections::hash_map::DefaultHasher;
use std::hash::{Hash, Hasher};
use std::net::{self, Ipv6Addr, SocketAddr, SocketAddrV6};
Expand Down Expand Up @@ -302,7 +303,7 @@ pub fn test_af_alg_cipher() {
#[cfg(any(target_os = "linux", target_os= "android"))]
#[test]
pub fn test_af_alg_aead() {
use libc;
use libc::{ALG_OP_DECRYPT, ALG_OP_ENCRYPT};
use nix::sys::uio::IoVec;
use nix::unistd::{read, close};
use nix::sys::socket::{socket, sendmsg, bind, accept, setsockopt,
Expand Down Expand Up @@ -345,7 +346,7 @@ pub fn test_af_alg_aead() {
let session_socket = accept(sock).expect("accept failed");

let msgs = [
ControlMessage::AlgSetOp(&libc::ALG_OP_ENCRYPT),
ControlMessage::AlgSetOp(&ALG_OP_ENCRYPT),
ControlMessage::AlgSetIv(iv.as_slice()),
ControlMessage::AlgSetAeadAssoclen(&assoc_size)];
let iov = IoVec::from_slice(&payload);
Expand All @@ -368,7 +369,7 @@ pub fn test_af_alg_aead() {
let session_socket = accept(sock).expect("accept failed");

let msgs = [
ControlMessage::AlgSetOp(&libc::ALG_OP_DECRYPT),
ControlMessage::AlgSetOp(&ALG_OP_DECRYPT),
ControlMessage::AlgSetIv(iv.as_slice()),
ControlMessage::AlgSetAeadAssoclen(&assoc_size),
];
Expand Down Expand Up @@ -547,11 +548,11 @@ fn test_too_large_cmsgspace() {

#[cfg(any(target_os = "android", target_os = "linux"))]
fn test_impl_scm_credentials_and_rights(mut space: Vec<u8>) {
use libc;
use libc::ucred;
use nix::sys::uio::IoVec;
use nix::unistd::{pipe, read, write, close, getpid, getuid, getgid};
use nix::sys::socket::{socketpair, sendmsg, recvmsg, setsockopt,
AddressFamily, SockType, SockFlag,
SockType, SockFlag,
ControlMessage, ControlMessageOwned, MsgFlags};
use nix::sys::socket::sockopt::PassCred;

Expand All @@ -564,7 +565,7 @@ fn test_impl_scm_credentials_and_rights(mut space: Vec<u8>) {

{
let iov = [IoVec::from_slice(b"hello")];
let cred = libc::ucred {
let cred = ucred {
pid: getpid().as_raw(),
uid: getuid().as_raw(),
gid: getgid().as_raw(),
Expand Down Expand Up @@ -623,7 +624,7 @@ fn test_impl_scm_credentials_and_rights(mut space: Vec<u8>) {
// Test creating and using named unix domain sockets
#[test]
pub fn test_unixdomain() {
use nix::sys::socket::{AddressFamily, SockType, SockFlag};
use nix::sys::socket::{SockType, SockFlag};
use nix::sys::socket::{bind, socket, connect, listen, accept, SockAddr};
use nix::unistd::{read, write, close};
use std::thread;
Expand Down Expand Up @@ -661,7 +662,7 @@ pub fn test_unixdomain() {
pub fn test_syscontrol() {
use nix::Error;
use nix::errno::Errno;
use nix::sys::socket::{AddressFamily, socket, SockAddr, SockType, SockFlag, SockProtocol};
use nix::sys::socket::{socket, SockAddr, SockType, SockFlag, SockProtocol};

let fd = socket(AddressFamily::System, SockType::Datagram,
SockFlag::empty(), SockProtocol::KextControl)
Expand All @@ -673,8 +674,6 @@ pub fn test_syscontrol() {
// connect(fd, &sockaddr).expect("connect failed");
}

use nix::ifaddrs::InterfaceAddress;
use nix::sys::socket::AddressFamily;
#[cfg(any(
target_os = "android",
target_os = "freebsd",
Expand Down Expand Up @@ -942,7 +941,7 @@ pub fn test_recv_ipv6pktinfo() {
use libc;
use nix::net::if_::*;
use nix::sys::socket::sockopt::Ipv6RecvPacketInfo;
use nix::sys::socket::{bind, AddressFamily, SockFlag, SockType};
use nix::sys::socket::{bind, SockFlag, SockType};
use nix::sys::socket::{getsockname, setsockopt, socket};
use nix::sys::socket::{recvmsg, sendmsg, ControlMessageOwned, MsgFlags};
use nix::sys::uio::IoVec;
Expand Down
2 changes: 2 additions & 0 deletions test/test.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// XXX Allow deprecated items until release 0.16.0. See issue #1096.
#![allow(deprecated)]
extern crate bytes;
#[cfg(any(target_os = "android", target_os = "linux"))]
extern crate caps;
Expand Down