Skip to content

Compilation error: src/context.rs:4021:14: error[E0308]: match arms have incompatible types #1986

Closed
@eclipseo

Description

@eclipseo

I'm trying to build rav1e but I'm encountering a build error.
Rust 1.40 on x86_64 with all features enabled, it doesn't happen when only default features are enabled:

Running `/usr/bin/rustc --edition=2018 --crate-name rav1e src/lib.rs --color always --crate-type lib --crate-type staticlib --emit=dep-info,link -C opt-level=3 -C codegen-units=1 -C
 debuginfo=2 --cfg 'feature="aom-sys"' --cfg 'feature="asm"' --cfg 'feature="backtrace"' --cfg 'feature="bench"' --cfg 'feature="better-panic"' --cfg 'feature="binaries"' --cfg 'feature=
"byteorder"' --cfg 'feature="capi"' --cfg 'feature="cc"' --cfg 'feature="check_asm"' --cfg 'feature="clap"' --cfg 'feature="dav1d-sys"' --cfg 'feature="decode_test"' --cfg 'feature="deco
de_test_dav1d"' --cfg 'feature="default"' --cfg 'feature="desync_finder"' --cfg 'feature="dump_ivf"' --cfg 'feature="dump_lookahead_data"' --cfg 'feature="image"' --cfg 'feature="ivf"' -
-cfg 'feature="nasm-rs"' --cfg 'feature="pretty_env_logger"' --cfg 'feature="quick_test"' --cfg 'feature="rust_hawktracer"' --cfg 'feature="scan_fmt"' --cfg 'feature="serde"' --cfg 'feat
ure="serialize"' --cfg 'feature="signal-hook"' --cfg 'feature="signal_support"' --cfg 'feature="toml"' --cfg 'feature="tracing"' --cfg 'feature="y4m"' -C metadata=e1509e71df8413ac -C ext
ra-filename=-e1509e71df8413ac --out-dir /builddir/build/BUILD/rav1e-0.2.0/target/release/deps -L dependency=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps --extern aom_sys=/buildd
ir/build/BUILD/rav1e-0.2.0/target/release/deps/libaom_sys-f660304f5fa9abf2.rlib --extern arg_enum_proc_macro=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libarg_enum_proc_macro-
732f5e8534dc3063.so --extern arrayvec=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libarrayvec-a63fa661919cb417.rlib --extern backtrace=/builddir/build/BUILD/rav1e-0.2.0/target/
release/deps/libbacktrace-5a8ffaf172a00ce5.rlib --extern better_panic=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libbetter_panic-e38b928110125aa5.rlib --extern bitstream_io=/b
uilddir/build/BUILD/rav1e-0.2.0/target/release/deps/libbitstream_io-669581e5ac1e9f52.rlib --extern byteorder=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libbyteorder-6b6740b7a9
d1114d.rlib --extern cfg_if=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libcfg_if-a4c1c940ab3f8521.rlib --extern clap=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libc
lap-69f953351d6d8389.rlib --extern dav1d_sys=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libdav1d_sys-11fd2b9316c29f52.rlib --extern err_derive=/builddir/build/BUILD/rav1e-0.2.
0/target/release/deps/liberr_derive-918f4d1c109f1cef.so --extern image=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libimage-2cdae605af289588.rlib --extern itertools=/builddir/b
uild/BUILD/rav1e-0.2.0/target/release/deps/libitertools-b710371e25c93954.rlib --extern ivf=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libivf-cb013a5dfc4af71f.rlib --extern lib
c=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/liblibc-1b9211cd02077469.rlib --extern log=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/liblog-639a99f336b14f99.rlib --ex
tern noop_proc_macro=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libnoop_proc_macro-b4f9adc29211ccbc.so --extern num_derive=/builddir/build/BUILD/rav1e-0.2.0/target/release/dep
s/libnum_derive-25ef12c4f152dc16.so --extern num_traits=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libnum_traits-88ba9efb80535c9b.rlib --extern paste=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libpaste-8f63b616ba0bbed6.rlib --extern pretty_env_logger=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libpretty_env_logger-83b8e350669c4593.rlib --extern rayon=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/librayon-939e4c009e8a11b1.rlib --extern rust_hawktracer=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/librust_hawktracer-222f76e1ae9ec8f5.rlib --extern scan_fmt=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libscan_fmt-3e9ba81b29edb13c.rlib --extern serde=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libserde-cebac9316fe684ab.rlib --extern signal_hook=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libsignal_hook-290d65a855343c12.rlib --extern simd_helpers=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libsimd_helpers-c93091be3348b7b6.so --extern toml=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/libtoml-bec66b5af64077b0.rlib --extern y4m=/builddir/build/BUILD/rav1e-0.2.0/target/release/deps/liby4m-3893c97a64217578.rlib -Copt-level=3 -Cdebuginfo=2 -Clink-arg=-Wl,-z,relro,-z,now -Ccodegen-units=1 --cap-lints=warn -L /builddir/build/BUILD/rav1e-0.2.0/target/release/build/rav1e-aac5cf7868957dba/out --cfg nasm_x86_64 -l static=rav1easm -L native=/usr/lib64 -L native=/builddir/build/BUILD/rav1e-0.2.0/target/release/build/backtrace-sys-c18213a012d5bd82/out -L native=/usr/lib64 -L all=/builddir/build/BUILD/rav1e-0.2.0/target/release/build/rust_hawktracer_sys-161c6a7a8f240e4d/out/build/lib`

error[E0308]: match arms have incompatible types
    --> src/context.rs:4021:14
     |
4019 | /       match eob_multi_size {
4020 | |         0 => &mut self.fc.eob_flag_cdf16[plane_type][eob_multi_ctx],
     | |              ------------------------------------------------------ this is found to be of type `&mut [u16; 6]`
4021 | |         1 => &mut self.fc.eob_flag_cdf32[plane_type][eob_multi_ctx],
     | |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected an array with a fixed size of 6 elements, found one with 7 elements
4022 | |         2 => &mut self.fc.eob_flag_cdf64[plane_type][eob_multi_ctx],
...    |
4026 | |         _ => &mut self.fc.eob_flag_cdf1024[plane_type][eob_multi_ctx],
4027 | |       }
     | |_______- `match` arms have incompatible types
     |
     = note: expected type `&mut [u16; 6]`
                found type `&mut [u16; 7]`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0308`.
error: could not compile `rav1e`.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions