Closed Bug 1209164 Opened 9 years ago Closed 9 years ago

build warnings when building MP4Metadata.rs / byteorder module with --enable-rust

Categories

(Core :: Audio/Video, defect, P2)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: froydnj, Assigned: rillian)

References

(Blocks 1 open bug)

Details

/home/froydnj/src/gecko-dev.git/media/libstagefright/binding/MP4Metadata.rs:23:5: 23:32 warning: struct field is never used: `compatible_brands`, #[warn(dead_code)] on by default /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/MP4Metadata.rs:23 compatible_brands: Vec<u32>, ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:212:40: 212:64 warning: enum is never used: `LittleEndian`, #[warn(dead_code)] on by default /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:212 #[allow(missing_copy_implementations)] pub enum LittleEndian {} ^~~~~~~~~~~~~~~~~~~~~~~~ /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:39:1: 39:29 warning: unused attribute, #[warn(unused_attributes)] on by default /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:39 #![crate_name = "byteorder"] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:39:1: 39:29 warning: crate-level attribute should be in the root module, #[warn(unused_attributes)] on by default /home/froydnj/src/gecko-dev.git/media/libstagefright/binding/byteorder/mod.rs:39 #![crate_name = "byteorder"] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ The LittleEndian warning seems a little weird, since the definition of NativeEndian just a little bit lower uses it, and this is an x86-64 build...
Assignee: nobody → giles
The compatible_brands warning was fixed by bug 1215234. It looks like I can fix the unused crate_name attribute by just stripping it on the next import. The unused enum is harder. I think the issue is that because we don't have external crate support in the build system, we're compiling our byteorder dependency as a module instead of a crate. That means that just declaring items public isn't sufficient to show them as used because they're no longer exported. Therefore anything we don't call ourselves generates an dead_code warning. I'm not sure what do do about that. We could try to strip that section, but that makes updates messy.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Perhaps that should be 'wontfix' for the remaining warning?
Depends on: 1219452
You need to log in before you can comment on or make changes to this bug.