error[E0435]: attempt to use a non-constant value in a constant --> $DIR/type-check-1.rs:42:26 | LL | let x = 0; | ----- help: consider using `const` instead of `let`: `const x` ... LL | asm!("{}", const x); | ^ non-constant value error[E0435]: attempt to use a non-constant value in a constant --> $DIR/type-check-1.rs:45:36 | LL | let x = 0; | ----- help: consider using `const` instead of `let`: `const x` ... LL | asm!("{}", const const_foo(x)); | ^ non-constant value error[E0435]: attempt to use a non-constant value in a constant --> $DIR/type-check-1.rs:48:36 | LL | let x = 0; | ----- help: consider using `const` instead of `let`: `const x` ... LL | asm!("{}", const const_bar(x)); | ^ non-constant value error: invalid `sym` operand --> $DIR/type-check-1.rs:50:24 | LL | asm!("{}", sym x); | ^ is a local variable | = help: `sym` operands must refer to either a function or a static error: invalid asm output --> $DIR/type-check-1.rs:15:29 | LL | asm!("{}", out(reg) 1 + 2); | ^^^^^ cannot assign to this expression error: invalid asm output --> $DIR/type-check-1.rs:17:31 | LL | asm!("{}", inout(reg) 1 + 2); | ^^^^^ cannot assign to this expression error[E0277]: the size for values of type `[u64]` cannot be known at compilation time --> $DIR/type-check-1.rs:23:28 | LL | asm!("{}", in(reg) v[..]); | ^^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `[u64]` = note: all inline asm arguments must have a statically known size error[E0277]: the size for values of type `[u64]` cannot be known at compilation time --> $DIR/type-check-1.rs:26:29 | LL | asm!("{}", out(reg) v[..]); | ^^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `[u64]` = note: all inline asm arguments must have a statically known size error[E0277]: the size for values of type `[u64]` cannot be known at compilation time --> $DIR/type-check-1.rs:29:31 | LL | asm!("{}", inout(reg) v[..]); | ^^^^^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `[u64]` = note: all inline asm arguments must have a statically known size error: cannot use value of type `[u64]` for inline assembly --> $DIR/type-check-1.rs:23:28 | LL | asm!("{}", in(reg) v[..]); | ^^^^^ | = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly error: cannot use value of type `[u64]` for inline assembly --> $DIR/type-check-1.rs:26:29 | LL | asm!("{}", out(reg) v[..]); | ^^^^^ | = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly error: cannot use value of type `[u64]` for inline assembly --> $DIR/type-check-1.rs:29:31 | LL | asm!("{}", inout(reg) v[..]); | ^^^^^ | = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly error[E0308]: mismatched types --> $DIR/type-check-1.rs:58:26 | LL | asm!("{}", const 0f32); | ^^^^ expected integer, found `f32` error[E0308]: mismatched types --> $DIR/type-check-1.rs:60:26 | LL | asm!("{}", const 0 as *mut u8); | ^^^^^^^^^^^^ expected integer, found `*mut u8` | = note: expected type `{integer}` found raw pointer `*mut u8` error[E0308]: mismatched types --> $DIR/type-check-1.rs:62:26 | LL | asm!("{}", const &0); | ^^ expected integer, found `&{integer}` | help: consider removing the borrow | LL - asm!("{}", const &0); LL + asm!("{}", const 0); | error[E0308]: mismatched types --> $DIR/type-check-1.rs:76:25 | LL | global_asm!("{}", const 0f32); | ^^^^ expected integer, found `f32` error[E0308]: mismatched types --> $DIR/type-check-1.rs:78:25 | LL | global_asm!("{}", const 0 as *mut u8); | ^^^^^^^^^^^^ expected integer, found `*mut u8` | = note: expected type `{integer}` found raw pointer `*mut u8` error: aborting due to 17 previous errors Some errors have detailed explanations: E0277, E0308, E0435. For more information about an error, try `rustc --explain E0277`.