error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:4:1
   |
LL | #[patchable_function_entry(prefix_nops = 256, entry_nops = 0)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^
   |                                          |
   |                                          expected an integer literal in the range of 0..=255
   |
help: must be of the form
   |
LL - #[patchable_function_entry(prefix_nops = 256, entry_nops = 0)]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:8:1
   |
LL | #[patchable_function_entry(prefix_nops = "stringvalue", entry_nops = 0)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^^^^^^^
   |                                          |
   |                                          expected an integer literal here
   |
help: must be of the form
   |
LL - #[patchable_function_entry(prefix_nops = "stringvalue", entry_nops = 0)]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:12:1
   |
LL | #[patchable_function_entry]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected this to be a list
   |
help: must be of the form
   |
LL | #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |                           ++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:16:1
   |
LL | #[patchable_function_entry(prefix_nops = 10, something = 0)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^
   |                                              |
   |                                              valid arguments are `prefix_nops` or `entry_nops`
   |
help: must be of the form
   |
LL - #[patchable_function_entry(prefix_nops = 10, something = 0)]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:20:1
   |
LL | #[patchable_function_entry()]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^--^
   |                           |
   |                           expected at least 1 argument here
   |
help: must be of the form
   |
LL | #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |                            ++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0538]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:24:1
   |
LL | #[patchable_function_entry(prefix_nops = 255, prefix_nops = 255)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^
   |                                               |
   |                                               found `prefix_nops` used as a key more than once
   |
help: must be of the form
   |
LL - #[patchable_function_entry(prefix_nops = 255, prefix_nops = 255)]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0539]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:28:1
   |
LL | #[patchable_function_entry(section = 255)]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^
   |                                      |
   |                                      expected a string literal here
   |
help: must be of the form
   |
LL - #[patchable_function_entry(section = 255)]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0538]: malformed `patchable_function_entry` attribute input
  --> $DIR/patchable-function-entry-attribute.rs:32:1
   |
LL | #[patchable_function_entry(section = "foo", section = "bar")]
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^
   |                                             |
   |                                             found `section` used as a key more than once
   |
help: must be of the form
   |
LL - #[patchable_function_entry(section = "foo", section = "bar")]
LL + #[patchable_function_entry(prefix_nops = m, entry_nops = n, section = "section")]
   |

error[E0648]: `section` may not contain null characters
  --> $DIR/patchable-function-entry-attribute.rs:36:38
   |
LL | #[patchable_function_entry(section = "fo\0o")]
   |                                      ^^^^^^^

error: `section` may not be empty
  --> $DIR/patchable-function-entry-attribute.rs:40:38
   |
LL | #[patchable_function_entry(section = "")]
   |                                      ^^

error: aborting due to 10 previous errors

Some errors have detailed explanations: E0538, E0539, E0648.
For more information about an error, try `rustc --explain E0538`.
