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

cargo fix : failed to automatically apply fixes suggested by rustc to crate cpclib #6483

Closed
rgiot opened this issue Dec 24, 2018 · 2 comments
Labels
C-bug Category: bug

Comments

@rgiot
Copy link

rgiot commented Dec 24, 2018

Problem
The command cargo fix applied on the project hosted there https://github.com/cpcsdk/rust.cpclib fails: return code is 0, but no fix has been applied. The full content is at the end of the message. There are tons of things to fix in this project, so the real issue may be deeply hidden. If you guide me, I can provide more specific information.
cargo build --all-features builds properly the project.

Steps

  1. Just run cargo fix

Notes

Output of cargo version: cargo 1.33.0-nightly (2cf1f5d 2018-12-11)
Os: ubuntu 18.10
Toolchain: nightly-x86_64-unknown-linux-gnu (default), rustc 1.33.0-nightly (2d3e909e4 2018-12-22)

warning: failed to automatically apply fixes suggested by rustc to crate `cpclib`

after fixes were automatically applied the compiler reported errors within these files:

  * src/assembler/tokens/tokens.rs
  * src/disc/amsdos.rs
  * src/disc/builder.rs
  * src/disc/cfg.rs
  * src/imageconverter.rs
  * src/lib.rs
  * src/sna.rs
  * src/z80emu/emul.rs

This likely indicates a bug in either rustc or cargo itself,
and we would appreciate a bug report! You're likely to see 
a number of compiler warnings after this message which cargo
attempted to fix but failed. If you could open an issue at
https://github.com/rust-lang/cargo/issues
quoting the full output of this command we'd be very appreciative!

warning: unused `#[macro_use]` import
  --> src/lib.rs:20:1
   |
20 | #[macro_use]
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
  --> src/lib.rs:32:1
   |
32 | #[macro_use]
   | ^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/assembler/tokens/tokens.rs:35:21
   |
35 |                     /// XXX Not stable timing
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_doc_comments)] on by default

warning: doc comment not used by rustdoc
  --> src/z80emu/emul.rs:20:9
   |
20 |         /// TODO use a cache to speed up that
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `std::io`
 --> src/sna.rs:3:5
  |
3 | use std::io;
  |     ^^^^^^^

warning: unused import: `std::io::BufReader`
 --> src/sna.rs:8:5
  |
8 | use std::io::BufReader;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `arrayref`
 --> src/disc/amsdos.rs:4:5
  |
4 | use arrayref;
  |     ^^^^^^^^

warning: unused imports: `hex_u32`, `space1`
 --> src/disc/cfg.rs:5:11
  |
5 | use nom::{hex_u32, space0, space1, eol };
  |           ^^^^^^^          ^^^^^^

warning: unused import: `std::str::FromStr`
 --> src/disc/cfg.rs:7:5
  |
7 | use std::str::FromStr;
  |     ^^^^^^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/disc/builder.rs:22:2
   |
22 |     /// Create the empty tracks -- to be filled in the next loop
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/disc/builder.rs:30:2
   |
30 |     /// Update the tracks stuff
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unreachable pattern
   --> src/disc/edsk.rs:353:4
    |
353 |             _ => unreachable!()
    |             ^
    |
    = note: #[warn(unreachable_patterns)] on by default

warning: unreachable pattern
   --> src/disc/edsk.rs:392:4
    |
392 |             _ => unreachable!()
    |             ^

warning: unused variable: `data`
   --> src/imageconverter.rs:360:21
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                     ^^^^ help: try ignoring the field: `data: _`
    |
    = note: #[warn(unused_variables)] on by default

warning: unused variable: `palette`
   --> src/imageconverter.rs:360:31
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                               ^^^^^^^ help: try ignoring the field: `palette: _`

warning: unused variable: `byte_width`
   --> src/imageconverter.rs:360:44
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                                            ^^^^^^^^^^ help: try ignoring the field: `byte_width: _`

warning: unused variable: `height`
   --> src/imageconverter.rs:360:59
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                                                           ^^^^^^ help: try ignoring the field: `height: _`

warning: unused variable: `data`
   --> src/imageconverter.rs:363:47
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                               ^^^^ help: try ignoring the field: `data: _`

warning: unused variable: `palette`
   --> src/imageconverter.rs:363:57
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                         ^^^^^^^ help: try ignoring the field: `palette: _`

warning: unused variable: `byte_width`
   --> src/imageconverter.rs:363:70
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                                      ^^^^^^^^^^ help: try ignoring the field: `byte_width: _`

warning: unused variable: `height`
   --> src/imageconverter.rs:363:85
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                                                     ^^^^^^ help: try ignoring the field: `height: _`

warning: unnecessary `unsafe` block
  --> src/z80emu/z80.rs:81:9
   |
81 |         unsafe {write!(f, "({:?}, {:?})", &self.high, &self.low)}
   |         ^^^^^^ unnecessary `unsafe` block
   |
   = note: #[warn(unused_unsafe)] on by default

warning: function is never used: `get_unique_colors`
  --> src/image.rs:60:1
   |
60 | fn get_unique_colors(img: &im::ImageBuffer<im::Rgb<u8>, Vec<u8>>)  -> HashSet<im::Rgb<u8>>{
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: function is never used: `extract_palette`
  --> src/image.rs:70:1
   |
70 | fn extract_palette(img: &im::ImageBuffer<im::Rgb<u8>, Vec<u8>>) -> Palette {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `ibank`
  --> src/assembler/assembler/mod.rs:46:5
   |
46 |     ibank: usize,
   |     ^^^^^^^^^^^^

warning: field is never used: `protect`
  --> src/assembler/assembler/mod.rs:47:5
   |
47 |     protect: bool,
   |     ^^^^^^^^^^^^^

warning: field is never used: `iorg`
   --> src/assembler/assembler/mod.rs:154:5
    |
154 |     iorg: usize,
    |     ^^^^^^^^^^^

warning: field is never used: `org_zones`
   --> src/assembler/assembler/mod.rs:155:5
    |
155 |     org_zones: Vec<OrgZone>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `get_value`
  --> src/z80emu/emul.rs:88:5
   |
88 |     fn get_value(&self, access: &DataAccess) -> Option<u16> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `get_register_16`
   --> src/z80emu/emul.rs:104:5
    |
104 |     fn get_register_16(&self, reg: &DataAccess) -> & crate::z80emu::z80::Register16{
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `eval_expr`
   --> src/z80emu/emul.rs:177:5
    |
177 |     fn eval_expr(&self, expr: &Expr) -> Option<u16> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `nbPixelsPerByte` should have a snake case name such as `nb_pixels_per_byte`
  --> src/image.rs:43:5
   |
43 | /     pub fn nbPixelsPerByte(&self) -> usize {
44 | |         match self {
45 | |             &Mode::Mode0 | &Mode::Mode3 => 2,
46 | |             &Mode::Mode1 => 4,
47 | |             &Mode::Mode2 => 8
48 | |         }
49 | |     }
   | |_____^
   |
   = note: #[warn(non_snake_case)] on by default

warning: structure field `horizontalDisplayed` should have a snake case name such as `horizontal_displayed`
  --> src/imageconverter.rs:75:5
   |
75 |     horizontalDisplayed: u8,
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: structure field `verticalDisplayed` should have a snake case name such as `vertical_displayed`
  --> src/imageconverter.rs:77:5
   |
77 |     verticalDisplayed: u8,
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: structure field `maximumRasterAddress` should have a snake case name such as `maximum_raster_address`
  --> src/imageconverter.rs:79:5
   |
79 |     maximumRasterAddress: u8
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: variable `horizontalDisplayed` should have a snake case name such as `horizontal_displayed`
   --> src/imageconverter.rs:117:16
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                ^^^^^^^^^^^^^^^^^^^

warning: variable `verticalDisplayed` should have a snake case name such as `vertical_displayed`
   --> src/imageconverter.rs:117:41
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                                         ^^^^^^^^^^^^^^^^^

warning: variable `maximumRasterAddress` should have a snake case name such as `maximum_raster_address`
   --> src/imageconverter.rs:117:64
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                                                                ^^^^^^^^^^^^^^^^^^^^

warning: method `nbLinesPerChar` should have a snake case name such as `nb_lines_per_char`
   --> src/imageconverter.rs:127:5
    |
127 | /     pub fn nbLinesPerChar(&self) -> u8 {
128 | |         1 + self.maximumRasterAddress
129 | |     }
    | |_____^

warning: method `nbCharLines` should have a snake case name such as `nb_char_lines`
   --> src/imageconverter.rs:132:5
    |
132 | /     pub fn nbCharLines(&self) -> u8{
133 | |         self.verticalDisplayed
134 | |     }
    | |_____^

warning: method `nbWordColumns` should have a snake case name such as `nb_word_columns`
   --> src/imageconverter.rs:136:5
    |
136 | /     pub fn nbWordColumns(&self) -> u8 {
137 | |         self.horizontalDisplayed
138 | |     }
    | |_____^

warning: method `nbByteColumns` should have a snake case name such as `nb_byte_columns`
   --> src/imageconverter.rs:141:5
    |
141 | /     pub fn nbByteColumns(&self) -> u8 {
142 | |         self.nbWordColumns()*2
143 | |     }
    | |_____^

warning: method `R12` should have a snake case name such as `r12`
   --> src/imageconverter.rs:254:5
    |
254 | /     pub fn R12(&self) -> u8 {
255 | |         self.0.bit_range(15, 8) 
256 | |     }
    | |_____^

warning: method `R13` should have a snake case name such as `r13`
   --> src/imageconverter.rs:258:5
    |
258 | /     pub fn R13(&self) -> u8 {
259 | |         self.0.bit_range(7, 0) 
260 | |     }
    | |_____^

warning: structure field `outputDimension` should have a snake case name such as `output_dimension`
   --> src/imageconverter.rs:325:9
    |
325 |         outputDimension: CPCScreenDimension,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: structure field `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:326:9
    |
326 |         displayAddress: DisplayAddress
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variable `outputDimension` should have a snake case name such as `output_dimension`
   --> src/imageconverter.rs:492:37
    |
492 |             OutputFormat::CPCMemory{ref outputDimension, ref displayAddress}
    |                                     ^^^^^^^^^^^^^^^^^^^

warning: variable `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:492:58
    |
492 |             OutputFormat::CPCMemory{ref outputDimension, ref displayAddress}
    |                                                          ^^^^^^^^^^^^^^^^^^

warning: variable `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:517:82
    |
517 |     fn build_memory_blocks(&mut self, sprite: & Sprite, dim: CPCScreenDimension, displayAddress: DisplayAddress) -> Output {
    |                                                                                  ^^^^^^^^^^^^^^

warning: variant `Z80_AF` should have a camel case name such as `Z80Af`
  --> src/sna.rs:44:5
   |
44 |     Z80_AF,
   |     ^^^^^^
   |
   = note: #[warn(non_camel_case_types)] on by default

warning: variant `Z80_F` should have a camel case name such as `Z80F`
  --> src/sna.rs:45:5
   |
45 |     Z80_F,
   |     ^^^^^

warning: variant `Z80_A` should have a camel case name such as `Z80A`
  --> src/sna.rs:46:5
   |
46 |     Z80_A,
   |     ^^^^^

warning: variant `Z80_BC` should have a camel case name such as `Z80Bc`
  --> src/sna.rs:47:5
   |
47 |     Z80_BC,
   |     ^^^^^^

warning: variant `Z80_C` should have a camel case name such as `Z80C`
  --> src/sna.rs:48:5
   |
48 |     Z80_C,
   |     ^^^^^

warning: variant `Z80_B` should have a camel case name such as `Z80B`
  --> src/sna.rs:49:5
   |
49 |     Z80_B,
   |     ^^^^^

warning: variant `Z80_DE` should have a camel case name such as `Z80De`
  --> src/sna.rs:50:5
   |
50 |     Z80_DE,
   |     ^^^^^^

warning: variant `Z80_E` should have a camel case name such as `Z80E`
  --> src/sna.rs:51:5
   |
51 |     Z80_E,
   |     ^^^^^

warning: variant `Z80_D` should have a camel case name such as `Z80D`
  --> src/sna.rs:52:5
   |
52 |     Z80_D,
   |     ^^^^^

warning: variant `Z80_HL` should have a camel case name such as `Z80Hl`
  --> src/sna.rs:53:5
   |
53 |     Z80_HL,
   |     ^^^^^^

warning: variant `Z80_L` should have a camel case name such as `Z80L`
  --> src/sna.rs:54:5
   |
54 |     Z80_L,
   |     ^^^^^

warning: variant `Z80_H` should have a camel case name such as `Z80H`
  --> src/sna.rs:55:5
   |
55 |     Z80_H,
   |     ^^^^^

warning: variant `Z80_R` should have a camel case name such as `Z80R`
  --> src/sna.rs:56:5
   |
56 |     Z80_R,
   |     ^^^^^

warning: variant `Z80_I` should have a camel case name such as `Z80I`
  --> src/sna.rs:57:5
   |
57 |     Z80_I,
   |     ^^^^^

warning: variant `Z80_IFF0` should have a camel case name such as `Z80Iff0`
  --> src/sna.rs:58:5
   |
58 |     Z80_IFF0,
   |     ^^^^^^^^

warning: variant `Z80_IFF1` should have a camel case name such as `Z80Iff1`
  --> src/sna.rs:59:5
   |
59 |     Z80_IFF1,
   |     ^^^^^^^^

warning: variant `Z80_IX` should have a camel case name such as `Z80Ix`
  --> src/sna.rs:60:5
   |
60 |     Z80_IX,
   |     ^^^^^^

warning: variant `Z80_IXL` should have a camel case name such as `Z80Ixl`
  --> src/sna.rs:61:5
   |
61 |     Z80_IXL,
   |     ^^^^^^^

warning: variant `Z80_IXH` should have a camel case name such as `Z80Ixh`
  --> src/sna.rs:62:5
   |
62 |     Z80_IXH,
   |     ^^^^^^^

warning: variant `Z80_IY` should have a camel case name such as `Z80Iy`
  --> src/sna.rs:63:5
   |
63 |     Z80_IY,
   |     ^^^^^^

warning: variant `Z80_IYL` should have a camel case name such as `Z80Iyl`
  --> src/sna.rs:64:5
   |
64 |     Z80_IYL,
   |     ^^^^^^^

warning: variant `Z80_IYH` should have a camel case name such as `Z80Iyh`
  --> src/sna.rs:65:5
   |
65 |     Z80_IYH,
   |     ^^^^^^^

warning: variant `Z80_SP` should have a camel case name such as `Z80Sp`
  --> src/sna.rs:66:5
   |
66 |     Z80_SP,
   |     ^^^^^^

warning: variant `Z80_PC` should have a camel case name such as `Z80Pc`
  --> src/sna.rs:67:5
   |
67 |     Z80_PC,
   |     ^^^^^^

warning: variant `Z80_IM` should have a camel case name such as `Z80Im`
  --> src/sna.rs:68:5
   |
68 |     Z80_IM,
   |     ^^^^^^

warning: variant `Z80_AFX` should have a camel case name such as `Z80Afx`
  --> src/sna.rs:69:5
   |
69 |     Z80_AFX,
   |     ^^^^^^^

warning: variant `Z80_FX` should have a camel case name such as `Z80Fx`
  --> src/sna.rs:70:5
   |
70 |     Z80_FX,
   |     ^^^^^^

warning: variant `Z80_AX` should have a camel case name such as `Z80Ax`
  --> src/sna.rs:71:5
   |
71 |     Z80_AX,
   |     ^^^^^^

warning: variant `Z80_BCX` should have a camel case name such as `Z80Bcx`
  --> src/sna.rs:72:5
   |
72 |     Z80_BCX,
   |     ^^^^^^^

warning: variant `Z80_CX` should have a camel case name such as `Z80Cx`
  --> src/sna.rs:73:5
   |
73 |     Z80_CX,
   |     ^^^^^^

warning: variant `Z80_BX` should have a camel case name such as `Z80Bx`
  --> src/sna.rs:74:5
   |
74 |     Z80_BX,
   |     ^^^^^^

warning: variant `Z80_DEX` should have a camel case name such as `Z80Dex`
  --> src/sna.rs:75:5
   |
75 |     Z80_DEX,
   |     ^^^^^^^

warning: variant `Z80_EX` should have a camel case name such as `Z80Ex`
  --> src/sna.rs:76:5
   |
76 |     Z80_EX,
   |     ^^^^^^

warning: variant `Z80_DX` should have a camel case name such as `Z80Dx`
  --> src/sna.rs:77:5
   |
77 |     Z80_DX,
   |     ^^^^^^

warning: variant `Z80_HLX` should have a camel case name such as `Z80Hlx`
  --> src/sna.rs:78:5
   |
78 |     Z80_HLX,
   |     ^^^^^^^

warning: variant `Z80_LX` should have a camel case name such as `Z80Lx`
  --> src/sna.rs:79:5
   |
79 |     Z80_LX,
   |     ^^^^^^

warning: variant `Z80_HX` should have a camel case name such as `Z80Hx`
  --> src/sna.rs:80:5
   |
80 |     Z80_HX,
   |     ^^^^^^

warning: variant `GA_PAL` should have a camel case name such as `GaPal`
  --> src/sna.rs:81:5
   |
81 |     GA_PAL(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: variant `GA_PEN` should have a camel case name such as `GaPen`
  --> src/sna.rs:82:5
   |
82 |     GA_PEN,
   |     ^^^^^^

warning: variant `GA_ROMCFG` should have a camel case name such as `GaRomcfg`
  --> src/sna.rs:83:5
   |
83 |     GA_ROMCFG,
   |     ^^^^^^^^^

warning: variant `GA_RAMCFG` should have a camel case name such as `GaRamcfg`
  --> src/sna.rs:84:5
   |
84 |     GA_RAMCFG,
   |     ^^^^^^^^^

warning: variant `CRTC_REG` should have a camel case name such as `CrtcReg`
  --> src/sna.rs:85:5
   |
85 |     CRTC_REG(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: variant `CRTC_SEL` should have a camel case name such as `CrtcSel`
  --> src/sna.rs:86:5
   |
86 |     CRTC_SEL,
   |     ^^^^^^^^

warning: variant `ROM_UP` should have a camel case name such as `RomUp`
  --> src/sna.rs:87:5
   |
87 |     ROM_UP,
   |     ^^^^^^

warning: variant `PPI_A` should have a camel case name such as `PpiA`
  --> src/sna.rs:88:5
   |
88 |     PPI_A,
   |     ^^^^^

warning: variant `PPI_B` should have a camel case name such as `PpiB`
  --> src/sna.rs:89:5
   |
89 |     PPI_B,
   |     ^^^^^

warning: variant `PPI_C` should have a camel case name such as `PpiC`
  --> src/sna.rs:90:5
   |
90 |     PPI_C,
   |     ^^^^^

warning: variant `PPI_CTL` should have a camel case name such as `PpiCtl`
  --> src/sna.rs:91:5
   |
91 |     PPI_CTL,
   |     ^^^^^^^

warning: variant `PSG_REG` should have a camel case name such as `PsgReg`
  --> src/sna.rs:92:5
   |
92 |     PSG_REG(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: variant `PSG_SEL` should have a camel case name such as `PsgSel`
  --> src/sna.rs:93:5
   |
93 |     PSG_SEL,
   |     ^^^^^^^

warning: variant `CPC_TYPE` should have a camel case name such as `CpcType`
  --> src/sna.rs:94:5
   |
94 |     CPC_TYPE,
   |     ^^^^^^^^

warning: variant `INT_NUM` should have a camel case name such as `IntNum`
  --> src/sna.rs:95:5
   |
95 |     INT_NUM,
   |     ^^^^^^^

warning: variant `GA_MULTIMODE` should have a camel case name such as `GaMultimode`
  --> src/sna.rs:96:5
   |
96 |     GA_MULTIMODE(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variant `FDD_MOTOR` should have a camel case name such as `FddMotor`
  --> src/sna.rs:97:5
   |
97 |     FDD_MOTOR,
   |     ^^^^^^^^^

warning: variant `FDD_TRACK` should have a camel case name such as `FddTrack`
  --> src/sna.rs:98:5
   |
98 |     FDD_TRACK,
   |     ^^^^^^^^^

warning: variant `PRNT_DATA` should have a camel case name such as `PrntData`
  --> src/sna.rs:99:5
   |
99 |     PRNT_DATA,
   |     ^^^^^^^^^

warning: variant `CRTC_TYPE` should have a camel case name such as `CrtcType`
   --> src/sna.rs:100:5
    |
100 |     CRTC_TYPE,
    |     ^^^^^^^^^

warning: variant `CRTC_HCC` should have a camel case name such as `CrtcHcc`
   --> src/sna.rs:101:5
    |
101 |     CRTC_HCC,
    |     ^^^^^^^^

warning: variant `CRTC_CLC` should have a camel case name such as `CrtcClc`
   --> src/sna.rs:102:5
    |
102 |     CRTC_CLC,
    |     ^^^^^^^^

warning: variant `CRTC_RLC` should have a camel case name such as `CrtcRlc`
   --> src/sna.rs:103:5
    |
103 |     CRTC_RLC,
    |     ^^^^^^^^

warning: variant `CRTC_VAC` should have a camel case name such as `CrtcVac`
   --> src/sna.rs:104:5
    |
104 |     CRTC_VAC,
    |     ^^^^^^^^

warning: variant `CRTC_VSWC` should have a camel case name such as `CrtcVswc`
   --> src/sna.rs:105:5
    |
105 |     CRTC_VSWC,
    |     ^^^^^^^^^

warning: variant `CRTC_HSWC` should have a camel case name such as `CrtcHswc`
   --> src/sna.rs:106:5
    |
106 |     CRTC_HSWC,
    |     ^^^^^^^^^

warning: variant `CRTC_STATE` should have a camel case name such as `CrtcState`
   --> src/sna.rs:107:5
    |
107 |     CRTC_STATE,
    |     ^^^^^^^^^^

warning: variant `GA_VSC` should have a camel case name such as `GaVsc`
   --> src/sna.rs:108:5
    |
108 |     GA_VSC,
    |     ^^^^^^

warning: variant `GA_ISC` should have a camel case name such as `GaIsc`
   --> src/sna.rs:109:5
    |
109 |     GA_ISC,
    |     ^^^^^^

warning: variant `INT_REQ` should have a camel case name such as `IntReq`
   --> src/sna.rs:110:5
    |
110 |     INT_REQ,
    |     ^^^^^^^

warning: unused `std::result::Result` that must be used
  --> tests/edsk.rs:43:3
   |
43 |         dsk.save(tmp_file);
   |         ^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_must_use)] on by default
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/edsk.rs:69:3
   |
69 |         dsk.save(tmp_file);
   |         ^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/edsk.rs:80:3
   |
80 |         dsk1.save(tmp_file);
   |         ^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `#[macro_use]` import
 --> tests/assemble.rs:4:1
  |
4 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

warning: unused import: `cpclib::assembler::parser::*`
 --> tests/assemble.rs:9:9
  |
9 |     use cpclib::assembler::parser::*;
  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:20:9
   |
20 |         visit_token(&Token::Org(Expr::Value(10)), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_must_use)] on by default
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:21:9
   |
21 |         visit_token(&Token::Db(vec![Expr::Value(10), Expr::Value(5)]), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:22:9
   |
22 |         visit_token(&Token::OpCode(Mnemonic::Ld, Some(DataAccess::Register8(Register8::A)), Some(DataAccess::Register8(Register8::L))), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:32:9
   |
32 |         visit_token(&Token::OpCode(Mnemonic::Ld, Some(DataAccess::Register8(Register8::A)), Some(DataAccess::Register8(Register8::A))), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:36:9
   |
36 |         visit_token(&Token::OpCode(Mnemonic::Ld, Some(DataAccess::Register8(Register8::A)), Some(DataAccess::Register8(Register8::L))), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused `std::result::Result` that must be used
  --> tests/assemble.rs:39:9
   |
39 |         visit_token(&Token::OpCode(Mnemonic::Ld, Some(DataAccess::Register8(Register8::C)), Some(DataAccess::Register8(Register8::C))), &mut env);
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled

warning: unused import: `CompleteByteSlice`
  --> tests/parser.rs:11:35
   |
11 |     use nom::types::{CompleteStr, CompleteByteSlice};
   |                                   ^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused imports: `ErrorKind`, `line_ending`, `space`
  --> tests/parser.rs:12:15
   |
12 |     use nom::{ErrorKind, IResult, line_ending, space};
   |               ^^^^^^^^^           ^^^^^^^^^^^  ^^^^^

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:121:24
    |
121 |         assert!(opcode.org_expr().is_some());
    |                        ^^^^^^^^
    |
    = note: #[warn(deprecated)] on by default

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:122:27
    |
122 |         let arg1 = opcode.org_expr().unwrap();
    |                           ^^^^^^^^

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:135:24
    |
135 |         assert!(opcode.org_expr().is_some());
    |                        ^^^^^^^^

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:136:27
    |
136 |         let arg1 = opcode.org_expr().expect("expression expected");
    |                           ^^^^^^^^

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:152:24
    |
152 |         assert!(opcode.org_expr().is_some());
    |                        ^^^^^^^^

warning: use of deprecated item 'cpclib::assembler::tokens::instructions::Token::org_expr': please use `expr` instead as other token need it
   --> tests/parser.rs:153:27
    |
153 |         let arg1 = opcode.org_expr().unwrap();
    |                           ^^^^^^^^

warning: function is never used: `check_mnemonic`
  --> tests/parser.rs:14:5
   |
14 |     fn check_mnemonic(code: &str, mnemonic: Mnemonic) -> bool {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: function is never used: `is_error`
  --> tests/parser.rs:49:5
   |
49 |     fn is_error<T>(res: IResult<CompleteStr<'_>, T>) -> bool {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused `#[macro_use]` import
  --> src/lib.rs:20:1
   |
20 | #[macro_use]
   | ^^^^^^^^^^^^
   |
   = note: #[warn(unused_imports)] on by default

warning: unused `#[macro_use]` import
  --> src/lib.rs:32:1
   |
32 | #[macro_use]
   | ^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/assembler/tokens/tokens.rs:35:21
   |
35 |                     /// XXX Not stable timing
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(unused_doc_comments)] on by default

warning: unused import: `crate::assembler::tokens::*`
    --> src/assembler/assembler/mod.rs:1166:9
     |
1166 |     use crate::assembler::tokens::*;
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/z80emu/emul.rs:20:9
   |
20 |         /// TODO use a cache to speed up that
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `std::io`
 --> src/sna.rs:3:5
  |
3 | use std::io;
  |     ^^^^^^^

warning: unused import: `std::io::BufReader`
 --> src/sna.rs:8:5
  |
8 | use std::io::BufReader;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `arrayref`
 --> src/disc/amsdos.rs:4:5
  |
4 | use arrayref;
  |     ^^^^^^^^

warning: unused imports: `hex_u32`, `space1`
 --> src/disc/cfg.rs:5:11
  |
5 | use nom::{hex_u32, space0, space1, eol };
  |           ^^^^^^^          ^^^^^^

warning: unused import: `std::str::FromStr`
 --> src/disc/cfg.rs:7:5
  |
7 | use std::str::FromStr;
  |     ^^^^^^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/disc/builder.rs:22:2
   |
22 |     /// Create the empty tracks -- to be filled in the next loop
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: doc comment not used by rustdoc
  --> src/disc/builder.rs:30:2
   |
30 |     /// Update the tracks stuff
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unreachable pattern
   --> src/disc/edsk.rs:353:4
    |
353 |             _ => unreachable!()
    |             ^
    |
    = note: #[warn(unreachable_patterns)] on by default

warning: unreachable pattern
   --> src/disc/edsk.rs:392:4
    |
392 |             _ => unreachable!()
    |             ^

warning: unused variable: `next`
   --> src/disc/cfg.rs:475:8
    |
475 |         let (next, res) = res.unwrap();
    |              ^^^^ help: consider using `_next` instead
    |
    = note: #[warn(unused_variables)] on by default

warning: unused variable: `next`
   --> src/disc/cfg.rs:481:8
    |
481 |         let (next, res) = res.unwrap();
    |              ^^^^ help: consider using `_next` instead

warning: unused variable: `data`
   --> src/imageconverter.rs:360:21
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                     ^^^^ help: try ignoring the field: `data: _`

warning: unused variable: `palette`
   --> src/imageconverter.rs:360:31
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                               ^^^^^^^ help: try ignoring the field: `palette: _`

warning: unused variable: `byte_width`
   --> src/imageconverter.rs:360:44
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                                            ^^^^^^^^^^ help: try ignoring the field: `byte_width: _`

warning: unused variable: `height`
   --> src/imageconverter.rs:360:59
    |
360 |                 ref data, ref palette, ref byte_width,ref height} => {
    |                                                           ^^^^^^ help: try ignoring the field: `height: _`

warning: unused variable: `data`
   --> src/imageconverter.rs:363:47
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                               ^^^^ help: try ignoring the field: `data: _`

warning: unused variable: `palette`
   --> src/imageconverter.rs:363:57
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                         ^^^^^^^ help: try ignoring the field: `palette: _`

warning: unused variable: `byte_width`
   --> src/imageconverter.rs:363:70
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                                      ^^^^^^^^^^ help: try ignoring the field: `byte_width: _`

warning: unused variable: `height`
   --> src/imageconverter.rs:363:85
    |
363 |             &Output::LinearEncodedChuncky{ref data, ref palette, ref byte_width,ref height}=> {
    |                                                                                     ^^^^^^ help: try ignoring the field: `height: _`

warning: unnecessary `unsafe` block
  --> src/z80emu/z80.rs:81:9
   |
81 |         unsafe {write!(f, "({:?}, {:?})", &self.high, &self.low)}
   |         ^^^^^^ unnecessary `unsafe` block
   |
   = note: #[warn(unused_unsafe)] on by default

warning: function is never used: `get_unique_colors`
  --> src/image.rs:60:1
   |
60 | fn get_unique_colors(img: &im::ImageBuffer<im::Rgb<u8>, Vec<u8>>)  -> HashSet<im::Rgb<u8>>{
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: #[warn(dead_code)] on by default

warning: function is never used: `extract_palette`
  --> src/image.rs:70:1
   |
70 | fn extract_palette(img: &im::ImageBuffer<im::Rgb<u8>, Vec<u8>>) -> Palette {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field is never used: `ibank`
  --> src/assembler/assembler/mod.rs:46:5
   |
46 |     ibank: usize,
   |     ^^^^^^^^^^^^

warning: field is never used: `protect`
  --> src/assembler/assembler/mod.rs:47:5
   |
47 |     protect: bool,
   |     ^^^^^^^^^^^^^

warning: field is never used: `iorg`
   --> src/assembler/assembler/mod.rs:154:5
    |
154 |     iorg: usize,
    |     ^^^^^^^^^^^

warning: field is never used: `org_zones`
   --> src/assembler/assembler/mod.rs:155:5
    |
155 |     org_zones: Vec<OrgZone>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `get_value`
  --> src/z80emu/emul.rs:88:5
   |
88 |     fn get_value(&self, access: &DataAccess) -> Option<u16> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `get_register_16`
   --> src/z80emu/emul.rs:104:5
    |
104 |     fn get_register_16(&self, reg: &DataAccess) -> & crate::z80emu::z80::Register16{
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method is never used: `eval_expr`
   --> src/z80emu/emul.rs:177:5
    |
177 |     fn eval_expr(&self, expr: &Expr) -> Option<u16> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: method `nbPixelsPerByte` should have a snake case name such as `nb_pixels_per_byte`
  --> src/image.rs:43:5
   |
43 | /     pub fn nbPixelsPerByte(&self) -> usize {
44 | |         match self {
45 | |             &Mode::Mode0 | &Mode::Mode3 => 2,
46 | |             &Mode::Mode1 => 4,
47 | |             &Mode::Mode2 => 8
48 | |         }
49 | |     }
   | |_____^
   |
   = note: #[warn(non_snake_case)] on by default

warning: structure field `horizontalDisplayed` should have a snake case name such as `horizontal_displayed`
  --> src/imageconverter.rs:75:5
   |
75 |     horizontalDisplayed: u8,
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: structure field `verticalDisplayed` should have a snake case name such as `vertical_displayed`
  --> src/imageconverter.rs:77:5
   |
77 |     verticalDisplayed: u8,
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: structure field `maximumRasterAddress` should have a snake case name such as `maximum_raster_address`
  --> src/imageconverter.rs:79:5
   |
79 |     maximumRasterAddress: u8
   |     ^^^^^^^^^^^^^^^^^^^^^^^^

warning: variable `horizontalDisplayed` should have a snake case name such as `horizontal_displayed`
   --> src/imageconverter.rs:117:16
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                ^^^^^^^^^^^^^^^^^^^

warning: variable `verticalDisplayed` should have a snake case name such as `vertical_displayed`
   --> src/imageconverter.rs:117:41
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                                         ^^^^^^^^^^^^^^^^^

warning: variable `maximumRasterAddress` should have a snake case name such as `maximum_raster_address`
   --> src/imageconverter.rs:117:64
    |
117 |     pub fn new(horizontalDisplayed: u8, verticalDisplayed: u8, maximumRasterAddress: u8) -> Self {
    |                                                                ^^^^^^^^^^^^^^^^^^^^

warning: method `nbLinesPerChar` should have a snake case name such as `nb_lines_per_char`
   --> src/imageconverter.rs:127:5
    |
127 | /     pub fn nbLinesPerChar(&self) -> u8 {
128 | |         1 + self.maximumRasterAddress
129 | |     }
    | |_____^

warning: method `nbCharLines` should have a snake case name such as `nb_char_lines`
   --> src/imageconverter.rs:132:5
    |
132 | /     pub fn nbCharLines(&self) -> u8{
133 | |         self.verticalDisplayed
134 | |     }
    | |_____^

warning: method `nbWordColumns` should have a snake case name such as `nb_word_columns`
   --> src/imageconverter.rs:136:5
    |
136 | /     pub fn nbWordColumns(&self) -> u8 {
137 | |         self.horizontalDisplayed
138 | |     }
    | |_____^

warning: method `nbByteColumns` should have a snake case name such as `nb_byte_columns`
   --> src/imageconverter.rs:141:5
    |
141 | /     pub fn nbByteColumns(&self) -> u8 {
142 | |         self.nbWordColumns()*2
143 | |     }
    | |_____^

warning: method `R12` should have a snake case name such as `r12`
   --> src/imageconverter.rs:254:5
    |
254 | /     pub fn R12(&self) -> u8 {
255 | |         self.0.bit_range(15, 8) 
256 | |     }
    | |_____^

warning: method `R13` should have a snake case name such as `r13`
   --> src/imageconverter.rs:258:5
    |
258 | /     pub fn R13(&self) -> u8 {
259 | |         self.0.bit_range(7, 0) 
260 | |     }
    | |_____^

warning: structure field `outputDimension` should have a snake case name such as `output_dimension`
   --> src/imageconverter.rs:325:9
    |
325 |         outputDimension: CPCScreenDimension,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: structure field `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:326:9
    |
326 |         displayAddress: DisplayAddress
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variable `outputDimension` should have a snake case name such as `output_dimension`
   --> src/imageconverter.rs:492:37
    |
492 |             OutputFormat::CPCMemory{ref outputDimension, ref displayAddress}
    |                                     ^^^^^^^^^^^^^^^^^^^

warning: variable `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:492:58
    |
492 |             OutputFormat::CPCMemory{ref outputDimension, ref displayAddress}
    |                                                          ^^^^^^^^^^^^^^^^^^

warning: variable `displayAddress` should have a snake case name such as `display_address`
   --> src/imageconverter.rs:517:82
    |
517 |     fn build_memory_blocks(&mut self, sprite: & Sprite, dim: CPCScreenDimension, displayAddress: DisplayAddress) -> Output {
    |                                                                                  ^^^^^^^^^^^^^^

warning: variable `B` should have a snake case name such as `b`
   --> src/z80emu/z80.rs:338:13
    |
338 |         let mut B = Register8::default();
    |             ^^^^^

warning: variable `BC` should have a snake case name such as `bc`
   --> src/z80emu/z80.rs:350:13
    |
350 |         let mut BC = Register16::default();
    |             ^^^^^^

warning: variant `Z80_AF` should have a camel case name such as `Z80Af`
  --> src/sna.rs:44:5
   |
44 |     Z80_AF,
   |     ^^^^^^
   |
   = note: #[warn(non_camel_case_types)] on by default

warning: variant `Z80_F` should have a camel case name such as `Z80F`
  --> src/sna.rs:45:5
   |
45 |     Z80_F,
   |     ^^^^^

warning: variant `Z80_A` should have a camel case name such as `Z80A`
  --> src/sna.rs:46:5
   |
46 |     Z80_A,
   |     ^^^^^

warning: variant `Z80_BC` should have a camel case name such as `Z80Bc`
  --> src/sna.rs:47:5
   |
47 |     Z80_BC,
   |     ^^^^^^

warning: variant `Z80_C` should have a camel case name such as `Z80C`
  --> src/sna.rs:48:5
   |
48 |     Z80_C,
   |     ^^^^^

warning: variant `Z80_B` should have a camel case name such as `Z80B`
  --> src/sna.rs:49:5
   |
49 |     Z80_B,
   |     ^^^^^

warning: variant `Z80_DE` should have a camel case name such as `Z80De`
  --> src/sna.rs:50:5
   |
50 |     Z80_DE,
   |     ^^^^^^

warning: variant `Z80_E` should have a camel case name such as `Z80E`
  --> src/sna.rs:51:5
   |
51 |     Z80_E,
   |     ^^^^^

warning: variant `Z80_D` should have a camel case name such as `Z80D`
  --> src/sna.rs:52:5
   |
52 |     Z80_D,
   |     ^^^^^

warning: variant `Z80_HL` should have a camel case name such as `Z80Hl`
  --> src/sna.rs:53:5
   |
53 |     Z80_HL,
   |     ^^^^^^

warning: variant `Z80_L` should have a camel case name such as `Z80L`
  --> src/sna.rs:54:5
   |
54 |     Z80_L,
   |     ^^^^^

warning: variant `Z80_H` should have a camel case name such as `Z80H`
  --> src/sna.rs:55:5
   |
55 |     Z80_H,
   |     ^^^^^

warning: variant `Z80_R` should have a camel case name such as `Z80R`
  --> src/sna.rs:56:5
   |
56 |     Z80_R,
   |     ^^^^^

warning: variant `Z80_I` should have a camel case name such as `Z80I`
  --> src/sna.rs:57:5
   |
57 |     Z80_I,
   |     ^^^^^

warning: variant `Z80_IFF0` should have a camel case name such as `Z80Iff0`
  --> src/sna.rs:58:5
   |
58 |     Z80_IFF0,
   |     ^^^^^^^^

warning: variant `Z80_IFF1` should have a camel case name such as `Z80Iff1`
  --> src/sna.rs:59:5
   |
59 |     Z80_IFF1,
   |     ^^^^^^^^

warning: variant `Z80_IX` should have a camel case name such as `Z80Ix`
  --> src/sna.rs:60:5
   |
60 |     Z80_IX,
   |     ^^^^^^

warning: variant `Z80_IXL` should have a camel case name such as `Z80Ixl`
  --> src/sna.rs:61:5
   |
61 |     Z80_IXL,
   |     ^^^^^^^

warning: variant `Z80_IXH` should have a camel case name such as `Z80Ixh`
  --> src/sna.rs:62:5
   |
62 |     Z80_IXH,
   |     ^^^^^^^

warning: variant `Z80_IY` should have a camel case name such as `Z80Iy`
  --> src/sna.rs:63:5
   |
63 |     Z80_IY,
   |     ^^^^^^

warning: variant `Z80_IYL` should have a camel case name such as `Z80Iyl`
  --> src/sna.rs:64:5
   |
64 |     Z80_IYL,
   |     ^^^^^^^

warning: variant `Z80_IYH` should have a camel case name such as `Z80Iyh`
  --> src/sna.rs:65:5
   |
65 |     Z80_IYH,
   |     ^^^^^^^

warning: variant `Z80_SP` should have a camel case name such as `Z80Sp`
  --> src/sna.rs:66:5
   |
66 |     Z80_SP,
   |     ^^^^^^

warning: variant `Z80_PC` should have a camel case name such as `Z80Pc`
  --> src/sna.rs:67:5
   |
67 |     Z80_PC,
   |     ^^^^^^

warning: variant `Z80_IM` should have a camel case name such as `Z80Im`
  --> src/sna.rs:68:5
   |
68 |     Z80_IM,
   |     ^^^^^^

warning: variant `Z80_AFX` should have a camel case name such as `Z80Afx`
  --> src/sna.rs:69:5
   |
69 |     Z80_AFX,
   |     ^^^^^^^

warning: variant `Z80_FX` should have a camel case name such as `Z80Fx`
  --> src/sna.rs:70:5
   |
70 |     Z80_FX,
   |     ^^^^^^

warning: variant `Z80_AX` should have a camel case name such as `Z80Ax`
  --> src/sna.rs:71:5
   |
71 |     Z80_AX,
   |     ^^^^^^

warning: variant `Z80_BCX` should have a camel case name such as `Z80Bcx`
  --> src/sna.rs:72:5
   |
72 |     Z80_BCX,
   |     ^^^^^^^

warning: variant `Z80_CX` should have a camel case name such as `Z80Cx`
  --> src/sna.rs:73:5
   |
73 |     Z80_CX,
   |     ^^^^^^

warning: variant `Z80_BX` should have a camel case name such as `Z80Bx`
  --> src/sna.rs:74:5
   |
74 |     Z80_BX,
   |     ^^^^^^

warning: variant `Z80_DEX` should have a camel case name such as `Z80Dex`
  --> src/sna.rs:75:5
   |
75 |     Z80_DEX,
   |     ^^^^^^^

warning: variant `Z80_EX` should have a camel case name such as `Z80Ex`
  --> src/sna.rs:76:5
   |
76 |     Z80_EX,
   |     ^^^^^^

warning: variant `Z80_DX` should have a camel case name such as `Z80Dx`
  --> src/sna.rs:77:5
   |
77 |     Z80_DX,
   |     ^^^^^^

warning: variant `Z80_HLX` should have a camel case name such as `Z80Hlx`
  --> src/sna.rs:78:5
   |
78 |     Z80_HLX,
   |     ^^^^^^^

warning: variant `Z80_LX` should have a camel case name such as `Z80Lx`
  --> src/sna.rs:79:5
   |
79 |     Z80_LX,
   |     ^^^^^^

warning: variant `Z80_HX` should have a camel case name such as `Z80Hx`
  --> src/sna.rs:80:5
   |
80 |     Z80_HX,
   |     ^^^^^^

warning: variant `GA_PAL` should have a camel case name such as `GaPal`
  --> src/sna.rs:81:5
   |
81 |     GA_PAL(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^

warning: variant `GA_PEN` should have a camel case name such as `GaPen`
  --> src/sna.rs:82:5
   |
82 |     GA_PEN,
   |     ^^^^^^

warning: variant `GA_ROMCFG` should have a camel case name such as `GaRomcfg`
  --> src/sna.rs:83:5
   |
83 |     GA_ROMCFG,
   |     ^^^^^^^^^

warning: variant `GA_RAMCFG` should have a camel case name such as `GaRamcfg`
  --> src/sna.rs:84:5
   |
84 |     GA_RAMCFG,
   |     ^^^^^^^^^

warning: variant `CRTC_REG` should have a camel case name such as `CrtcReg`
  --> src/sna.rs:85:5
   |
85 |     CRTC_REG(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: variant `CRTC_SEL` should have a camel case name such as `CrtcSel`
  --> src/sna.rs:86:5
   |
86 |     CRTC_SEL,
   |     ^^^^^^^^

warning: variant `ROM_UP` should have a camel case name such as `RomUp`
  --> src/sna.rs:87:5
   |
87 |     ROM_UP,
   |     ^^^^^^

warning: variant `PPI_A` should have a camel case name such as `PpiA`
  --> src/sna.rs:88:5
   |
88 |     PPI_A,
   |     ^^^^^

warning: variant `PPI_B` should have a camel case name such as `PpiB`
  --> src/sna.rs:89:5
   |
89 |     PPI_B,
   |     ^^^^^

warning: variant `PPI_C` should have a camel case name such as `PpiC`
  --> src/sna.rs:90:5
   |
90 |     PPI_C,
   |     ^^^^^

warning: variant `PPI_CTL` should have a camel case name such as `PpiCtl`
  --> src/sna.rs:91:5
   |
91 |     PPI_CTL,
   |     ^^^^^^^

warning: variant `PSG_REG` should have a camel case name such as `PsgReg`
  --> src/sna.rs:92:5
   |
92 |     PSG_REG(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^

warning: variant `PSG_SEL` should have a camel case name such as `PsgSel`
  --> src/sna.rs:93:5
   |
93 |     PSG_SEL,
   |     ^^^^^^^

warning: variant `CPC_TYPE` should have a camel case name such as `CpcType`
  --> src/sna.rs:94:5
   |
94 |     CPC_TYPE,
   |     ^^^^^^^^

warning: variant `INT_NUM` should have a camel case name such as `IntNum`
  --> src/sna.rs:95:5
   |
95 |     INT_NUM,
   |     ^^^^^^^

warning: variant `GA_MULTIMODE` should have a camel case name such as `GaMultimode`
  --> src/sna.rs:96:5
   |
96 |     GA_MULTIMODE(Option<usize>),
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variant `FDD_MOTOR` should have a camel case name such as `FddMotor`
  --> src/sna.rs:97:5
   |
97 |     FDD_MOTOR,
   |     ^^^^^^^^^

warning: variant `FDD_TRACK` should have a camel case name such as `FddTrack`
  --> src/sna.rs:98:5
   |
98 |     FDD_TRACK,
   |     ^^^^^^^^^

warning: variant `PRNT_DATA` should have a camel case name such as `PrntData`
  --> src/sna.rs:99:5
   |
99 |     PRNT_DATA,
   |     ^^^^^^^^^

warning: variant `CRTC_TYPE` should have a camel case name such as `CrtcType`
   --> src/sna.rs:100:5
    |
100 |     CRTC_TYPE,
    |     ^^^^^^^^^

warning: variant `CRTC_HCC` should have a camel case name such as `CrtcHcc`
   --> src/sna.rs:101:5
    |
101 |     CRTC_HCC,
    |     ^^^^^^^^

warning: variant `CRTC_CLC` should have a camel case name such as `CrtcClc`
   --> src/sna.rs:102:5
    |
102 |     CRTC_CLC,
    |     ^^^^^^^^

warning: variant `CRTC_RLC` should have a camel case name such as `CrtcRlc`
   --> src/sna.rs:103:5
    |
103 |     CRTC_RLC,
    |     ^^^^^^^^

warning: variant `CRTC_VAC` should have a camel case name such as `CrtcVac`
   --> src/sna.rs:104:5
    |
104 |     CRTC_VAC,
    |     ^^^^^^^^

warning: variant `CRTC_VSWC` should have a camel case name such as `CrtcVswc`
   --> src/sna.rs:105:5
    |
105 |     CRTC_VSWC,
    |     ^^^^^^^^^

warning: variant `CRTC_HSWC` should have a camel case name such as `CrtcHswc`
   --> src/sna.rs:106:5
    |
106 |     CRTC_HSWC,
    |     ^^^^^^^^^

warning: variant `CRTC_STATE` should have a camel case name such as `CrtcState`
   --> src/sna.rs:107:5
    |
107 |     CRTC_STATE,
    |     ^^^^^^^^^^

warning: variant `GA_VSC` should have a camel case name such as `GaVsc`
   --> src/sna.rs:108:5
    |
108 |     GA_VSC,
    |     ^^^^^^

warning: variant `GA_ISC` should have a camel case name such as `GaIsc`
   --> src/sna.rs:109:5
    |
109 |     GA_ISC,
    |     ^^^^^^

warning: variant `INT_REQ` should have a camel case name such as `IntReq`
   --> src/sna.rs:110:5
    |
110 |     INT_REQ,
    |     ^^^^^^^

    Finished dev [unoptimized + debuginfo] target(s) in 42.58s
@rgiot rgiot added the C-bug Category: bug label Dec 24, 2018
@ehuss
Copy link
Contributor

ehuss commented Dec 25, 2018

Thanks for the report. On beta or nightly you can run with --broken-code flag which will leave the broke code in your working directory. You can then look at what's wrong and fix it manually. In this case you'll want to remove the unused fields in imageconverter.rs in impl Debug for Output.

@alexcrichton here is a minimal repro:

struct S {
    f1: i32,
}

fn main() {
    let s = S{f1:1};
    match s {
        S{ref f1} => {} // Suggests f1: _ which does not compile.
    }
}

I couldn't find an upstream issue that was exactly the same as this, although there is a large number of issues with unused lints giving bad suggestions. rust-lang/rust#50303 looks similar, but apparently not every scenario was covered in its fix.
EDIT: Oops, lol, found the issue: rust-lang/rust#54180

@dwijnand
Copy link
Member

Close in favour of rust-lang/rust#54180?

@ehuss ehuss closed this as completed Dec 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: bug
Projects
None yet
Development

No branches or pull requests

3 participants