error[E0599]: no method named `bat` found for struct `Foo` in the current scope
  --> $DIR/suggest-methods.rs:19:7
   |
LL | struct Foo;
   | ---------- method `bat` not found for this struct
...
LL |     f.bat(1.0);
   |       ^^^
   |
help: there is a method `bag` with a similar name, but with different arguments
  --> $DIR/suggest-methods.rs:9:5
   |
LL |     fn bag(&self);
   |     ^^^^^^^^^^^^^^

error[E0599]: no method named `is_emtpy` found for struct `String` in the current scope
  --> $DIR/suggest-methods.rs:22:15
   |
LL |     let _ = s.is_emtpy();
   |               ^^^^^^^^
   |
help: there is a method `is_empty` with a similar name
   |
LL |     let _ = s.is_empty();
   |               ~~~~~~~~

error[E0599]: no method named `count_eos` found for type `u32` in the current scope
  --> $DIR/suggest-methods.rs:27:19
   |
LL |     let _ = 63u32.count_eos();
   |                   ^^^^^^^^^
   |
help: there is a method `count_zeros` with a similar name
   |
LL |     let _ = 63u32.count_zeros();
   |                   ~~~~~~~~~~~

error[E0599]: no method named `count_o` found for type `u32` in the current scope
  --> $DIR/suggest-methods.rs:30:19
   |
LL |     let _ = 63u32.count_o();
   |                   ^^^^^^^
   |
help: there is a method `count_ones` with a similar name
   |
LL |     let _ = 63u32.count_ones();
   |                   ~~~~~~~~~~

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0599`.
