//! > Module name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
mod _;

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:5
mod _;
    ^

//! > ==========================================================================

//! > Struct name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
struct _ {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:8
struct _ {}
       ^

//! > ==========================================================================

//! > Enum name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
enum _ {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:6
enum _ {}
     ^

//! > ==========================================================================

//! > Extern function name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
extern fn _() nopanic;

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:11
extern fn _() nopanic;
          ^

//! > ==========================================================================

//! > Extern type name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
extern type _;

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:13
extern type _;
            ^

//! > ==========================================================================

//! > Attribute name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
#[_]
fn foo() {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:3
#[_]
  ^

//! > ==========================================================================

//! > Free function name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn _() {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:4
fn _() {}
   ^

//! > ==========================================================================

//! > Trait name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
trait _ {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:7
trait _ {}
      ^

//! > ==========================================================================

//! > Trait function name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
trait trt {
    fn _();
}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:2:8
    fn _();
       ^

//! > ==========================================================================

//! > Impl name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
impl _ of MyTrait {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:6
impl _ of MyTrait {}
     ^

//! > ==========================================================================

//! > Struct c'tor single argument - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn foo() {
    A { _ }
}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:2:9
    A { _ }
        ^

//! > ==========================================================================

//! > Pattern with modifiers - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn foo() {
    let ref _ = 3;
}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:2:13
    let ref _ = 3;
            ^

//! > ==========================================================================

//! > Pattern's struct parameter - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn foo() {
    let MyStruct { _ } = 3;
}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:2:20
    let MyStruct { _ } = 3;
                   ^

//! > ==========================================================================

//! > Param name with modifiers - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn f(ref _: felt252) {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:10
fn f(ref _: felt252) {}
         ^

//! > ==========================================================================

//! > Param name without modifiers

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn f(_: felt252) {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:6
fn f(_: felt252) {}
     ^

//! > ==========================================================================

//! > Struct member name - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
struct A {
    _: felt252
}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:2:5
    _: felt252
    ^

//! > ==========================================================================

//! > Path segment - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
use _::foo;

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:5
use _::foo;
    ^

//! > ==========================================================================

//! > Generic parameter - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
struct A<_> {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:10
struct A<_> {}
         ^

//! > ==========================================================================

//! > Implicit - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn foo() implicits(_) {}

//! > expected_diagnostics
error: An underscore ('_') is not allowed as an identifier in this context.
 --> dummy_file.cairo:1:20
fn foo() implicits(_) {}
                   ^

//! > ==========================================================================

//! > Expression - underscore not supported.

//! > test_runner_name
get_diagnostics

//! > cairo_code
fn foo() {
    let _a = 5 + _;
    other(_);
}

//! > expected_diagnostics
error: Missing tokens. Expected an expression.
 --> dummy_file.cairo:2:17
    let _a = 5 + _;
                ^

error: Missing token ';'.
 --> dummy_file.cairo:2:17
    let _a = 5 + _;
                ^

error: Skipped tokens. Expected: statement.
 --> dummy_file.cairo:2:18
    let _a = 5 + _;
                 ^^

error: Skipped tokens. Expected: argument.
 --> dummy_file.cairo:3:11
    other(_);
          ^
