error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:23:15
   |
LL |         asm!("bar: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: `#[deny(named_asm_labels)]` on by default

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:26:15
   |
LL |         asm!("abcd:");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:29:15
   |
LL |         asm!("foo: bar1: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:29:20
   |
LL |         asm!("foo: bar1: nop");
   |                    ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:34:15
   |
LL |         asm!("foo1: nop", "nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:35:15
   |
LL |         asm!("foo2: foo3: nop", "nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:35:21
   |
LL |         asm!("foo2: foo3: nop", "nop");
   |                     ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:38:22
   |
LL |         asm!("nop", "foo4: nop");
   |                      ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:39:15
   |
LL |         asm!("foo5: nop", "foo6: nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:39:28
   |
LL |         asm!("foo5: nop", "foo6: nop");
   |                            ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:44:15
   |
LL |         asm!("foo7: nop; foo8: nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:44:26
   |
LL |         asm!("foo7: nop; foo8: nop");
   |                          ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:47:15
   |
LL |         asm!("foo9: nop; nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:48:20
   |
LL |         asm!("nop; foo10: nop");
   |                    ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:51:15
   |
LL |         asm!("bar2: nop\n bar3: nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:51:27
   |
LL |         asm!("bar2: nop\n bar3: nop");
   |                           ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:54:15
   |
LL |         asm!("bar4: nop\n nop");
   |               ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:55:21
   |
LL |         asm!("nop\n bar5: nop");
   |                     ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:56:21
   |
LL |         asm!("nop\n bar6: bar7: nop");
   |                     ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:56:27
   |
LL |         asm!("nop\n bar6: bar7: nop");
   |                           ^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:63:13
   |
LL |             blah2: nop
   |             ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:64:13
   |
LL |             blah3: nop
   |             ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:73:19
   |
LL |             nop ; blah4: nop
   |                   ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:87:15
   |
LL |         asm!("blah1: 2bar: nop");
   |               ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:90:15
   |
LL |         asm!("def: def: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:90:15
   |
LL |         asm!("def: def: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:93:15
   |
LL |         asm!("def: nop\ndef: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:93:15
   |
LL |         asm!("def: nop\ndef: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:96:15
   |
LL |         asm!("def: nop; def: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:96:15
   |
LL |         asm!("def: nop; def: nop");
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:106:15
   |
LL |         asm!("fooo\u{003A} nop");
   |               ^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:107:15
   |
LL |         asm!("foooo\x3A nop");
   |               ^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:110:15
   |
LL |         asm!("fooooo:\u{000A} nop");
   |               ^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:111:15
   |
LL |         asm!("foooooo:\x0A nop");
   |               ^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:115:14
   |
LL |         asm!("\x41\x42\x43\x3A\x20\x6E\x6F\x70");
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: the label may be declared in the expansion of a macro

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:123:13
   |
LL |             ab: nop // ab: does foo
   |             ^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:144:19
   |
LL |             asm!("test_{}: nop", in(reg) 10);
   |                   ^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:146:15
   |
LL |         asm!("test_{}: nop", const 10);
   |               ^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:147:15
   |
LL |         asm!("test_{}: nop", sym main);
   |               ^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:148:15
   |
LL |         asm!("{}_test: nop", const 10);
   |               ^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:149:15
   |
LL |         asm!("test_{}_test: nop", const 10);
   |               ^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:150:15
   |
LL |         asm!("{}: nop", const 10);
   |               ^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:152:15
   |
LL |         asm!("{uwu}: nop", uwu = const 10);
   |               ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:153:15
   |
LL |         asm!("{0}: nop", const 10);
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:154:15
   |
LL |         asm!("{1}: nop", "/* {0} */", const 10, const 20);
   |               ^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: format arguments may expand to a non-numeric value
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:157:14
   |
LL |         asm!(include_str!("named-asm-labels.s"));
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: the label may be declared in the expansion of a macro

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:157:14
   |
LL |         asm!(include_str!("named-asm-labels.s"));
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: the label may be declared in the expansion of a macro
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:157:14
   |
LL |         asm!(include_str!("named-asm-labels.s"));
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: the label may be declared in the expansion of a macro
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:157:14
   |
LL |         asm!(include_str!("named-asm-labels.s"));
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
   = note: the label may be declared in the expansion of a macro
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

warning: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:171:19
   |
LL |             asm!("warned: nop");
   |                   ^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information
note: the lint level is defined here
  --> $DIR/named-asm-labels.rs:169:16
   |
LL |         #[warn(named_asm_labels)]
   |                ^^^^^^^^^^^^^^^^

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:180:26
   |
LL |     unsafe { naked_asm!(".Lfoo: mov rax, {}; ret;", "nop", const 1) }
   |                          ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:187:20
   |
LL |     unsafe { asm!(".Lbar: mov rax, {}; ret;", "nop", const 1, options(noreturn)) }
   |                    ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:195:26
   |
LL |     unsafe { naked_asm!(".Laaa: nop; ret;") }
   |                          ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:205:30
   |
LL |         unsafe { naked_asm!(".Lbbb: nop; ret;") }
   |                              ^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:214:15
   |
LL |         asm!("closure1: nop");
   |               ^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:218:15
   |
LL |         asm!("closure2: nop");
   |               ^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: avoid using named labels in inline assembly
  --> $DIR/named-asm-labels.rs:228:19
   |
LL |             asm!("closure3: nop");
   |                   ^^^^^^^^
   |
   = help: only local labels of the form `<number>:` should be used in inline asm
   = note: see the asm section of Rust By Example <https://doc.rust-lang.org/nightly/rust-by-example/unsafe/asm.html#labels> for more information

error: aborting due to 56 previous errors; 1 warning emitted

