mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
Add compile errors test cases
This commit is contained in:
parent
be4eaed7c4
commit
f22d8df5dd
7 changed files with 77 additions and 0 deletions
5
test/cases/compile_errors/callconv_inline.zig
Normal file
5
test/cases/compile_errors/callconv_inline.zig
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
inline fn entry() callconv(.c) void {}
|
||||
|
||||
// error
|
||||
//
|
||||
// :1:29: error: explicit callconv incompatible with inline keyword
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
pub const X = enum {
|
||||
var foo: X = .field;
|
||||
var undef: X = undefined;
|
||||
|
||||
field,
|
||||
};
|
||||
|
||||
pub const Y = enum {
|
||||
var undef: Y = undefined;
|
||||
|
||||
field,
|
||||
field2,
|
||||
};
|
||||
|
||||
export fn entry() void {
|
||||
{
|
||||
const foo: X = .foo; // works since X.foo is of type X (enum with only one field).
|
||||
_ = foo;
|
||||
}
|
||||
{
|
||||
const foo: X = .undef; // works since X.undef is of type X (enum with only one field).
|
||||
_ = foo;
|
||||
}
|
||||
{
|
||||
const foo: Y = .undef;
|
||||
_ = foo;
|
||||
}
|
||||
}
|
||||
// error
|
||||
//
|
||||
// :25:25: error: decl literal must be comptime-known
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
pub const Y = enum {
|
||||
var foo: Y = .field;
|
||||
|
||||
field,
|
||||
field2,
|
||||
};
|
||||
|
||||
export fn entry() void {
|
||||
{
|
||||
const foo: Y = .foo;
|
||||
_ = foo;
|
||||
}
|
||||
}
|
||||
// error
|
||||
//
|
||||
// :10:25: error: decl literal must be comptime-known
|
||||
6
test/cases/compile_errors/extern_no_initializer.zig
Normal file
6
test/cases/compile_errors/extern_no_initializer.zig
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
extern var foo = 1;
|
||||
extern const bar = 2;
|
||||
// error
|
||||
//
|
||||
// :1:18: error: extern variables have no initializers
|
||||
// :2:20: error: extern variables have no initializers
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extern fn entry1() !void;
|
||||
// error
|
||||
//
|
||||
// 1:20: error: function prototype may not have inferred error set
|
||||
4
test/cases/compile_errors/non_packed_struct_backing.zig
Normal file
4
test/cases/compile_errors/non_packed_struct_backing.zig
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
const T = struct(u8) {};
|
||||
// error
|
||||
//
|
||||
// :1:18: error: non-packed struct does not support backing integer type
|
||||
11
test/cases/compile_errors/variable_missing_value.zig
Normal file
11
test/cases/compile_errors/variable_missing_value.zig
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
const a;
|
||||
const b: u32;
|
||||
|
||||
var c;
|
||||
var d: u32;
|
||||
// error
|
||||
//
|
||||
// :1:1: error: variables must be initialized
|
||||
// :2:1: error: variables must be initialized
|
||||
// :4:1: error: variables must be initialized
|
||||
// :5:1: error: variables must be initialized
|
||||
Loading…
Add table
Reference in a new issue