tests: 마커 없던 fixture 36개에 진단을 고정한다
마커가 없으면 러너는 '거부되기만 하면 통과'로 판정한다. 엉뚱한 이유로 거부돼도 초록이었다. fixture 별로 무엇을 검사하는지 읽고 지금 나오는 진단이 그 규칙을 짚는지 확인한 뒤 줄과 문구를 고정했다. 근거는 fixture-report.md에 있다. pin 58 -> 94. 통과 수는 150/188 그대로다.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:format argument count mismatch
|
||||
unit bad_ari;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:unmatched '}' in format
|
||||
unit bad_cls;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:format argument count mismatch
|
||||
unit bad_many;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:unterminated format placeholder
|
||||
unit bad_open;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:format must be a comptime string
|
||||
unit bad_run;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:try requires an error result
|
||||
unit bad_try;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:8:no fmt writer for argument type
|
||||
unit bad_type;
|
||||
|
||||
struct Point { x: i32, }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:unsupported format verb
|
||||
unit bad_verb;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:@fprint requires io.Writer
|
||||
unit bad_writ;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:13:use of moved value
|
||||
unit bad_clos;
|
||||
|
||||
struct FileLike {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:8:use of possibly moved value
|
||||
unit bad_cond;
|
||||
|
||||
fn take(p: ^i32) -> void { mem.destroy(p); }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:use of moved value
|
||||
unit bad_dbl;
|
||||
|
||||
fn bad(p: ^i32) -> void {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:mem.destroy requires exactly one owned pointer
|
||||
unit bad_dest;
|
||||
|
||||
fn bad(x: i32) -> void {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:11:drop may only be invoked by scope cleanup
|
||||
unit bad_drop;
|
||||
|
||||
struct Box {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:7:use of possibly moved value
|
||||
unit bad_loop;
|
||||
|
||||
fn take(p: ^i32) -> void { mem.destroy(p); }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:8:use of moved value
|
||||
unit bad_move;
|
||||
|
||||
fn take(p: ^i32) -> void { mem.destroy(p); }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:8:cannot move a non-Copy value out of a projection; use mem.replace
|
||||
unit bad_proj;
|
||||
|
||||
struct Holder { p: ^i32 }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:9:wrong number of arguments
|
||||
unit bad_ari;
|
||||
|
||||
fn add(a: i32, b: i32) -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:cannot assign to immutable let
|
||||
unit bad_asgn;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:'as' requires integer or char types
|
||||
unit bad_cast;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:if condition must be bool
|
||||
unit bad_cond;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:let cannot bind a mutable slice
|
||||
unit bad_mlet;
|
||||
|
||||
fn bad() -> void {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:return type mismatch
|
||||
unit bad_ret;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:cannot write through shared slice
|
||||
unit bad_shwr;
|
||||
|
||||
fn bad(s: []u8) -> void {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:9:argument type mismatch
|
||||
unit bad_type;
|
||||
|
||||
fn add(a: i32, b: i32) -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:use of uninitialized variable
|
||||
unit bad_unit;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:unknown name
|
||||
unit bad_unk;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:9:initializer type mismatch
|
||||
unit bad_void;
|
||||
|
||||
fn noop() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:4:array element type mismatch
|
||||
unit badarr;
|
||||
fn main() -> i32 {
|
||||
let a: [2]i32 = [1, true, 3];
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:initializer type mismatch
|
||||
unit badchar;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:2:by-value recursive type
|
||||
unit badcycle;
|
||||
|
||||
struct A { b: B, }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:7:cannot assign through immutable value
|
||||
unit badfield;
|
||||
|
||||
struct Point { x: i32, y: i32, }
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:missing struct field
|
||||
unit badfld;
|
||||
struct Point { x: i32, y: i32, }
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:6:cannot assign through immutable value
|
||||
unit badindex;
|
||||
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:non-exhaustive match
|
||||
unit badmat;
|
||||
enum Shape { Empty, Circle(i32), }
|
||||
fn main() -> i32 {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// ERROR:5:cannot write through shared slice
|
||||
unit badstr;
|
||||
fn main() -> i32 {
|
||||
var text: str = "abc";
|
||||
|
||||
Reference in New Issue
Block a user