tests: 마커 없던 fixture 36개에 진단을 고정한다

마커가 없으면 러너는 '거부되기만 하면 통과'로 판정한다. 엉뚱한 이유로
거부돼도 초록이었다. fixture 별로 무엇을 검사하는지 읽고 지금 나오는 진단이
그 규칙을 짚는지 확인한 뒤 줄과 문구를 고정했다. 근거는 fixture-report.md에
있다.

pin 58 -> 94. 통과 수는 150/188 그대로다.
This commit is contained in:
2026-08-17 04:51:58 +09:00
parent c7d0a900bd
commit 1be47fa11c
36 changed files with 36 additions and 0 deletions
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:format argument count mismatch
unit bad_ari; unit bad_ari;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:unmatched '}' in format
unit bad_cls; unit bad_cls;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:format argument count mismatch
unit bad_many; unit bad_many;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:unterminated format placeholder
unit bad_open; unit bad_open;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:format must be a comptime string
unit bad_run; unit bad_run;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:try requires an error result
unit bad_try; unit bad_try;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:8:no fmt writer for argument type
unit bad_type; unit bad_type;
struct Point { x: i32, } struct Point { x: i32, }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:unsupported format verb
unit bad_verb; unit bad_verb;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:@fprint requires io.Writer
unit bad_writ; unit bad_writ;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:13:use of moved value
unit bad_clos; unit bad_clos;
struct FileLike { struct FileLike {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:8:use of possibly moved value
unit bad_cond; unit bad_cond;
fn take(p: ^i32) -> void { mem.destroy(p); } fn take(p: ^i32) -> void { mem.destroy(p); }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:use of moved value
unit bad_dbl; unit bad_dbl;
fn bad(p: ^i32) -> void { fn bad(p: ^i32) -> void {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:mem.destroy requires exactly one owned pointer
unit bad_dest; unit bad_dest;
fn bad(x: i32) -> void { fn bad(x: i32) -> void {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:11:drop may only be invoked by scope cleanup
unit bad_drop; unit bad_drop;
struct Box { struct Box {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:7:use of possibly moved value
unit bad_loop; unit bad_loop;
fn take(p: ^i32) -> void { mem.destroy(p); } fn take(p: ^i32) -> void { mem.destroy(p); }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:8:use of moved value
unit bad_move; unit bad_move;
fn take(p: ^i32) -> void { mem.destroy(p); } fn take(p: ^i32) -> void { mem.destroy(p); }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:8:cannot move a non-Copy value out of a projection; use mem.replace
unit bad_proj; unit bad_proj;
struct Holder { p: ^i32 } struct Holder { p: ^i32 }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:9:wrong number of arguments
unit bad_ari; unit bad_ari;
fn add(a: i32, b: i32) -> i32 { fn add(a: i32, b: i32) -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:cannot assign to immutable let
unit bad_asgn; unit bad_asgn;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:'as' requires integer or char types
unit bad_cast; unit bad_cast;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:if condition must be bool
unit bad_cond; unit bad_cond;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:let cannot bind a mutable slice
unit bad_mlet; unit bad_mlet;
fn bad() -> void { fn bad() -> void {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:return type mismatch
unit bad_ret; unit bad_ret;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:cannot write through shared slice
unit bad_shwr; unit bad_shwr;
fn bad(s: []u8) -> void { fn bad(s: []u8) -> void {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:9:argument type mismatch
unit bad_type; unit bad_type;
fn add(a: i32, b: i32) -> i32 { fn add(a: i32, b: i32) -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:use of uninitialized variable
unit bad_unit; unit bad_unit;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:unknown name
unit bad_unk; unit bad_unk;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:9:initializer type mismatch
unit bad_void; unit bad_void;
fn noop() { fn noop() {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:4:array element type mismatch
unit badarr; unit badarr;
fn main() -> i32 { fn main() -> i32 {
let a: [2]i32 = [1, true, 3]; let a: [2]i32 = [1, true, 3];
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:initializer type mismatch
unit badchar; unit badchar;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:2:by-value recursive type
unit badcycle; unit badcycle;
struct A { b: B, } struct A { b: B, }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:7:cannot assign through immutable value
unit badfield; unit badfield;
struct Point { x: i32, y: i32, } struct Point { x: i32, y: i32, }
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:missing struct field
unit badfld; unit badfld;
struct Point { x: i32, y: i32, } struct Point { x: i32, y: i32, }
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:6:cannot assign through immutable value
unit badindex; unit badindex;
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:non-exhaustive match
unit badmat; unit badmat;
enum Shape { Empty, Circle(i32), } enum Shape { Empty, Circle(i32), }
fn main() -> i32 { fn main() -> i32 {
+1
View File
@@ -1,3 +1,4 @@
// ERROR:5:cannot write through shared slice
unit badstr; unit badstr;
fn main() -> i32 { fn main() -> i32 {
var text: str = "abc"; var text: str = "abc";