Closed Bug 1563877 Opened 7 years ago Closed 6 years ago

cubeb-pulse-rs: --enable-warnings-as-errors fails due to -D deprecated with Rust 1.38

Categories

(Core :: Audio/Video: cubeb, defect, P3)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox69 --- wontfix
firefox70 --- fixed

People

(Reporter: jbeich, Assigned: kinetik)

References

Details

Regressed by https://github.com/rust-lang/rust/pull/60445

$ rustc -vV
rustc 1.38.0-nightly
binary: rustc
commit-hash: 481068a70767
commit-date: 2019-07-05
host: x86_64-unknown-freebsd
release: 1.38.0-nightly
LLVM version: 8.0

$ echo "ac_add_options --enable-warnings-as-errors" >>.mozconfig
$ ./mach build
[...]
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:106:26
    |
106 |             let result = uninitialized::<F>()(&ctx, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
    |
    = note: `-D deprecated` implied by `-D warnings`
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:104:36
    |
104 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:157:26
    |
157 |             let result = uninitialized::<F>()(&ctx, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:155:36
    |
155 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:182:26
    |
182 |             let result = uninitialized::<F>()(&api, e, timeval, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:179:36
    |
179 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:207:26
    |
207 |             let result = uninitialized::<F>()(&ctx, info, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:200:36
    |
200 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:233:26
    |
233 |             let result = uninitialized::<F>()(&ctx, info, eol, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:231:36
    |
231 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:260:26
    |
260 |             let result = uninitialized::<F>()(&ctx, info, eol, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:258:36
    |
258 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:284:26
    |
284 |             let result = uninitialized::<F>()(&ctx, info, eol, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:282:36
    |
282 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:308:26
    |
308 |             let result = uninitialized::<F>()(&ctx, info, eol, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:306:36
    |
306 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:334:26
    |
334 |             let result = uninitialized::<F>()(&ctx, success, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:332:36
    |
332 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:355:26
    |
355 |             let result = uninitialized::<F>()(&ctx, success, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:353:36
    |
353 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:387:26
    |
387 |             let result = uninitialized::<F>()(&ctx, event, idx, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:383:36
    |
383 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:195:26
    |
195 |             let result = uninitialized::<F>()(&mut stm, success, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:193:36
    |
193 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:230:26
    |
230 |             let result = uninitialized::<F>()(&mut stm, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:228:36
    |
228 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:258:26
    |
258 |             let result = uninitialized::<F>()(&mut stm, nbytes, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:256:36
    |
256 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:286:26
    |
286 |             let result = uninitialized::<F>()(&mut stm, nbytes, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:284:36
    |
284 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:308:26
    |
308 |             let result = uninitialized::<F>()(&mut stm, success, userdata);
    |                          ^^^^^^^^^^^^^^^^^^
error: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
   --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/stream.rs:306:36
    |
306 |             use std::mem::{forget, uninitialized};
    |                                    ^^^^^^^^^^^^^
error: aborting due to 32 previous errors
error: Could not compile `pulse`.
Priority: -- → P3
Assignee: nobody → kinetik
Status: NEW → ASSIGNED
Summary: --enable-warnings-as-errors fails due to -D deprecated with Rust 1.38 → cubeb-pulse-rs: --enable-warnings-as-errors fails due to -D deprecated with Rust 1.38

Backed out changeset c8b2f53266b1 (bug 1563877) for library related bustages

Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/857bf0be89df4f5490cacca5543b662914142fd8

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&group_state=expanded&selectedJob=256078846&resultStatus=testfailed%2Cbusted%2Cexception&revision=c8b2f53266b1f77edeff4df763718ee3af743f9c

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=256078846&repo=mozilla-inbound&lineNumber=7298

Log snippet:

[task 2019-07-12T00:34:24.765Z] 00:34:24 INFO - warning: use of deprecated item 'std::sync::atomic::ATOMIC_USIZE_INIT': the new function is now preferred
[task 2019-07-12T00:34:24.765Z] 00:34:24 INFO - --> /builds/worker/workspace/build/src/third_party/rust/url/src/origin.rs:79:39
[task 2019-07-12T00:34:24.765Z] 00:34:24 INFO - |
[task 2019-07-12T00:34:24.765Z] 00:34:24 INFO - 79 | static COUNTER: AtomicUsize = ATOMIC_USIZE_INIT;
[task 2019-07-12T00:34:24.766Z] 00:34:24 INFO - | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: AtomicUsize::new(0)
[task 2019-07-12T00:34:24.766Z] 00:34:24 INFO - Compiling mp4parse_capi v0.11.2 (/builds/worker/workspace/build/src/media/mp4parse-rust/mp4parse_capi)
[task 2019-07-12T00:34:24.766Z] 00:34:24 INFO - Running CARGO_PKG_REPOSITORY='https://github.com/mozilla/mp4parse-rust' CARGO_PKG_DESCRIPTION='Parser for ISO base media file format (mp4)' CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=11 LD_LIBRARY_PATH='/builds/worker/workspace/build/src/obj-firefox/release/deps:/builds/worker/workspace/build/src/rustc/lib:/builds/worker/workspace/build/src/gcc/lib64:/builds/worker/workspace/build/src/gcc/lib32:/builds/worker/workspace/build/src/gcc/lib' CARGO_PKG_VERSION_PRE= CARGO_PKG_HOMEPAGE= CARGO_MANIFEST_DIR=/builds/worker/workspace/build/src/media/mp4parse-rust/mp4parse_capi CARGO=/builds/worker/workspace/build/src/rustc/bin/cargo CARGO_PKG_VERSION_PATCH=2 CARGO_PKG_VERSION=0.11.2 CARGO_PKG_AUTHORS='Ralph Giles <giles@mozilla.com>:Matthew Gregan <kinetik@flim.org>:Alfredo Yang <ayang@mozilla.com>' CARGO_PKG_NAME=mp4parse_capi /builds/worker/workspace/build/src/sccache/sccache /builds/worker/workspace/build/src/rustc/bin/rustc --crate-name mp4parse_capi media/mp4parse-rust/mp4parse_capi/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C panic=abort -C codegen-units=1 --cfg 'feature="mp4parse"' --cfg 'feature="mp4parse_fallible"' -C metadata=db7ec8d56e4f4870 -C extra-filename=-db7ec8d56e4f4870 --out-dir /builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=/builds/worker/workspace/build/src/build/cargo-linker -L dependency=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps -L dependency=/builds/worker/workspace/build/src/obj-firefox/release/deps --extern byteorder=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libbyteorder-67896c431965078f.rlib --extern log=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/liblog-03e77304225be3b0.rlib --extern mp4parse=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libmp4parse-26ee2bd1117567dd.rlib --extern num_traits=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libnum_traits-b8daf77587a6034d.rlib -C opt-level=2 -C debuginfo=2 -C force-frame-pointers=yes -Dwarnings
[task 2019-07-12T00:34:24.767Z] 00:34:24 INFO - Compiling tokio-io v0.1.7
[task 2019-07-12T00:34:24.767Z] 00:34:24 INFO - Running CARGO_PKG_REPOSITORY='https://github.com/tokio-rs/tokio' CARGO_PKG_DESCRIPTION='Core I/O primitives for asynchronous I/O in Rust. [task 2019-07-12T00:34:24.768Z] 00:34:24 INFO - ' CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 LD_LIBRARY_PATH='/builds/worker/workspace/build/src/obj-firefox/release/deps:/builds/worker/workspace/build/src/rustc/lib:/builds/worker/workspace/build/src/gcc/lib64:/builds/worker/workspace/build/src/gcc/lib32:/builds/worker/workspace/build/src/gcc/lib' CARGO_PKG_VERSION_PRE= CARGO_PKG_HOMEPAGE='https://tokio.rs' CARGO_MANIFEST_DIR=/builds/worker/workspace/build/src/third_party/rust/tokio-io CARGO=/builds/worker/workspace/build/src/rustc/bin/cargo CARGO_PKG_VERSION_PATCH=7 CARGO_PKG_VERSION=0.1.7 CARGO_PKG_AUTHORS='Carl Lerche <me@carllerche.com>' CARGO_PKG_NAME=tokio-io /builds/worker/workspace/build/src/sccache/sccache /builds/worker/workspace/build/src/rustc/bin/rustc --crate-name tokio_io /builds/worker/workspace/build/src/third_party/rust/tokio-io/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=2 -C panic=abort -C codegen-units=1 -C metadata=26b0858ae9150200 -C extra-filename=-26b0858ae9150200 --out-dir /builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=/builds/worker/workspace/build/src/build/cargo-linker -L dependency=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps -L dependency=/builds/worker/workspace/build/src/obj-firefox/release/deps --extern bytes=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libbytes-6f771da004056ff0.rlib --extern futures=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/libfutures-aa28611d26ba4c0e.rlib --extern log=/builds/worker/workspace/build/src/obj-firefox/x86_64-unknown-linux-gnu/release/deps/liblog-03e77304225be3b0.rlib --cap-lints warn -C opt-level=2 -C debuginfo=2 -C force-frame-pointers=yes -Dwarnings
[task 2019-07-12T00:34:24.768Z] 00:34:24 ERROR - error[E0658]: use of unstable library feature 'maybe_uninit' (see issue #53491)
[task 2019-07-12T00:34:24.768Z] 00:34:24 INFO - --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:9:24
[task 2019-07-12T00:34:24.769Z] 00:34:24 INFO - |
[task 2019-07-12T00:34:24.769Z] 00:34:24 INFO - 9 | use std::mem::{forget, MaybeUninit};
[task 2019-07-12T00:34:24.769Z] 00:34:24 INFO - | ^^^^^^^^^^^
[task 2019-07-12T00:34:24.773Z] 00:34:24 ERROR - error[E0658]: use of unstable library feature 'maybe_uninit' (see issue #53491)
[task 2019-07-12T00:34:24.773Z] 00:34:24 INFO - --> media/libcubeb/cubeb-pulse-rs/pulse-rs/src/context.rs:106:22
[task 2019-07-12T00:34:24.773Z] 00:34:24 INFO - |
[task 2019-07-12T00:34:24.773Z] 00:34:24 INFO - 106 | let cb = MaybeUninit::<F>::uninit();
[task 2019-07-12T00:34:24.773Z] 00:34:24 INFO - | ^^^^^^^^^^^^^^^^^^^^^^^^
[task 2019-07-12T00:34:24.773Z] 00:34:24 ERROR - error[E0658]: use of unstable library feature 'maybe_uninit' (see issue #53491)

Flags: needinfo?(kinetik)

Sorry, my mistake. I thought we'd switched to rustc 1.36 already.

Depends on: 1565193
Flags: needinfo?(kinetik)

It was fine on Try, because that didn't include a base toolchain build. :-(

The base toolchain builds are still on 1.35:
[task 2019-07-19T04:23:03.160Z] 04:23:03 INFO - checking rustc version... 1.35.0

I'm going to revert the MaybeUninit change upstream temporarily to unblock other work.

Flags: needinfo?(kinetik)

Reverted upstream, I'll re-merge the new PR (https://github.com/djg/cubeb-pulse-rs/pull/43) and land when possible.

Re-merged upstream, landed via larger update in bug 1567457.

Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Depends on: 1567457
You need to log in before you can comment on or make changes to this bug.