Sema: add notes about function return type
This commit is contained in:
@@ -9,3 +9,4 @@ export fn entry() usize { return @sizeOf(@TypeOf(&foo)); }
|
||||
//
|
||||
// :3:30: error: expected type '*const i32', found '*const comptime_int'
|
||||
// :3:30: note: pointer type child 'comptime_int' cannot cast into pointer type child 'i32'
|
||||
// :3:10: note: function return type declared here
|
||||
|
||||
@@ -21,8 +21,10 @@ export fn entry4() void {
|
||||
//
|
||||
// :4:12: error: expected type '[*:0]u8', found '[*:255]u8'
|
||||
// :4:12: note: pointer sentinel '255' cannot cast into pointer sentinel '0'
|
||||
// :3:35: note: function return type declared here
|
||||
// :7:12: error: expected type '[*:0]u8', found '[*]u8'
|
||||
// :7:12: note: destination pointer requires '0' sentinel
|
||||
// :6:31: note: function return type declared here
|
||||
// :10:35: error: expected type '[2:0]u8', found '[2:255]u8'
|
||||
// :10:35: note: array sentinel '255' cannot cast into array sentinel '0'
|
||||
// :14:31: error: expected type '[2:0]u8', found '[2]u8'
|
||||
|
||||
@@ -21,3 +21,4 @@
|
||||
// :8:16: error: expected type 'tmp.A', found 'tmp.B'
|
||||
// :10:12: note: struct declared here
|
||||
// :4:12: note: struct declared here
|
||||
// :7:11: note: function return type declared here
|
||||
|
||||
@@ -12,3 +12,4 @@ pub fn main() void {
|
||||
//
|
||||
// :2:12: error: expected type '*i32', found '*addrspace(.gs) i32'
|
||||
// :2:12: note: address space 'gs' cannot cast into address space 'generic'
|
||||
// :1:34: note: function return type declared here
|
||||
|
||||
@@ -12,3 +12,4 @@ pub fn main() void {
|
||||
//
|
||||
// :2:12: error: expected type '*i32', found '*addrspace(.gs) i32'
|
||||
// :2:12: note: address space 'gs' cannot cast into address space 'generic'
|
||||
// :1:34: note: function return type declared here
|
||||
|
||||
@@ -12,3 +12,4 @@ export fn entry2() void {
|
||||
//
|
||||
// :2:12: error: expected type '*addrspace(.fs) i32', found '*addrspace(.gs) i32'
|
||||
// :2:12: note: address space 'gs' cannot cast into address space 'fs'
|
||||
// :1:34: note: function return type declared here
|
||||
|
||||
@@ -12,3 +12,4 @@ pub fn main() void {
|
||||
//
|
||||
// :2:13: error: expected type '*i32', found '*addrspace(.gs) i32'
|
||||
// :2:13: note: address space 'gs' cannot cast into address space 'generic'
|
||||
// :1:35: note: function return type declared here
|
||||
|
||||
@@ -10,3 +10,4 @@ comptime { _ = foo; }
|
||||
//
|
||||
// :3:12: error: expected type '[:0]u8', found '[]u8'
|
||||
// :3:12: note: destination pointer requires '0' sentinel
|
||||
// :1:10: note: function return type declared here
|
||||
|
||||
@@ -16,15 +16,17 @@ export fn quux() u32 {
|
||||
}
|
||||
|
||||
// error
|
||||
// backend=stage1
|
||||
// backend=stage2
|
||||
// target=native
|
||||
// is_test=1
|
||||
//
|
||||
// tmp.zig:2:17: error: expected type 'u32', found 'error{Ohno}'
|
||||
// tmp.zig:1:17: note: function cannot return an error
|
||||
// tmp.zig:8:5: error: expected type 'void', found '@typeInfo(@typeInfo(@TypeOf(bar)).Fn.return_type.?).ErrorUnion.error_set'
|
||||
// tmp.zig:7:17: note: function cannot return an error
|
||||
// tmp.zig:11:15: error: cannot convert error union to payload type. consider using `try`, `catch`, or `if`. expected type 'u32', found '@typeInfo(@typeInfo(@TypeOf(bar)).Fn.return_type.?).ErrorUnion.error_set!u32'
|
||||
// tmp.zig:10:17: note: function cannot return an error
|
||||
// tmp.zig:15:14: error: cannot convert error union to payload type. consider using `try`, `catch`, or `if`. expected type 'u32', found '@typeInfo(@typeInfo(@TypeOf(bar)).Fn.return_type.?).ErrorUnion.error_set!u32'
|
||||
// tmp.zig:14:5: note: cannot store an error in type 'u32'
|
||||
// :2:18: error: expected type 'u32', found 'error{Ohno}'
|
||||
// :1:17: note: function cannot return an error
|
||||
// :8:5: error: expected type 'void', found '@typeInfo(@typeInfo(@TypeOf(tmp.bar)).Fn.return_type.?).ErrorUnion.error_set'
|
||||
// :7:17: note: function cannot return an error
|
||||
// :11:15: error: expected type 'u32', found '@typeInfo(@typeInfo(@TypeOf(tmp.bar)).Fn.return_type.?).ErrorUnion.error_set!u32'
|
||||
// :10:17: note: function cannot return an error
|
||||
// :11:15: note: cannot convert error union to payload type
|
||||
// :11:15: note: consider using `try`, `catch`, or `if`
|
||||
// :15:14: error: expected type 'u32', found '@typeInfo(@typeInfo(@TypeOf(tmp.bar)).Fn.return_type.?).ErrorUnion.error_set!u32'
|
||||
// :15:14: note: cannot convert error union to payload type
|
||||
// :15:14: note: consider using `try`, `catch`, or `if`
|
||||
|
||||
@@ -8,3 +8,4 @@ fn something() anyerror!void { }
|
||||
// target=native
|
||||
//
|
||||
// :2:5: error: expected type 'void', found 'anyerror'
|
||||
// :1:15: note: function cannot return an error
|
||||
|
||||
@@ -5,4 +5,5 @@ export fn entry() void { a(); }
|
||||
// backend=stage2
|
||||
// target=native
|
||||
//
|
||||
// :1:18: error: expected type 'noreturn', found 'void'
|
||||
// :1:18: error: function declared 'noreturn' returns
|
||||
// :1:8: note: 'noreturn' declared here
|
||||
|
||||
@@ -8,3 +8,4 @@ export fn f() i32 {
|
||||
// target=native
|
||||
//
|
||||
// :3:12: error: expected type 'i32', found '*const [1:0]u8'
|
||||
// :1:15: note: function return type declared here
|
||||
|
||||
Reference in New Issue
Block a user