From 61e8ba9015a734ee6c9a12eec4764a1f73d130d3 Mon Sep 17 00:00:00 2001 From: TieWay59 Date: Sat, 13 May 2023 15:49:42 +0800 Subject: [PATCH] gccrs: Remove obsolete error diagnostic fixes https://github.com/Rust-GCC/gccrs/issues/2064 Remove every `{ dg-error "failed to type resolve expression" }` annotation that causes a failure when running the testsuite. gcc/rust/ChangeLog: * typecheck/rust-hir-type-check-expr.cc: Remove obsolete error diagnostic gcc/testsuite/ChangeLog: * rust/compile/break1.rs: remove dg-error "failed to type resolve expression" * rust/compile/break2.rs: Likewise * rust/compile/cfg2.rs: Likewise * rust/compile/continue1.rs: Likewise * rust/compile/generics4.rs: Likewise * rust/compile/generics6.rs: Likewise * rust/compile/generics7.rs: Likewise * rust/compile/issue-2029.rs: Likewise * rust/compile/issue-2139.rs: Likewise * rust/compile/issue-2190-1.rs: Likewise * rust/compile/issue-925.rs: Likewise * rust/compile/method1.rs: Likewise * rust/compile/shadow1.rs: Likewise * rust/compile/type-bindings1.rs: Likewise * rust/compile/unary_negation.rs: Likewise * rust/compile/unary_not.rs: Likewise * rust/compile/unconstrained_type_param.rs: Likewise * rust/compile/usize1.rs: Likewise Signed-off-by: Taiwei Wu --- gcc/rust/typecheck/rust-hir-type-check-expr.cc | 8 +------- gcc/testsuite/rust/compile/break1.rs | 1 - gcc/testsuite/rust/compile/break2.rs | 1 - gcc/testsuite/rust/compile/cfg2.rs | 1 - gcc/testsuite/rust/compile/continue1.rs | 1 - gcc/testsuite/rust/compile/generics4.rs | 6 +----- gcc/testsuite/rust/compile/generics6.rs | 4 +--- gcc/testsuite/rust/compile/generics7.rs | 1 - gcc/testsuite/rust/compile/issue-2029.rs | 1 - gcc/testsuite/rust/compile/issue-2139.rs | 1 - gcc/testsuite/rust/compile/issue-2190-1.rs | 1 - gcc/testsuite/rust/compile/issue-925.rs | 1 - gcc/testsuite/rust/compile/method1.rs | 1 - gcc/testsuite/rust/compile/shadow1.rs | 1 - gcc/testsuite/rust/compile/type-bindings1.rs | 4 +--- gcc/testsuite/rust/compile/unary_negation.rs | 1 - gcc/testsuite/rust/compile/unary_not.rs | 1 - gcc/testsuite/rust/compile/unconstrained_type_param.rs | 1 - gcc/testsuite/rust/compile/usize1.rs | 1 - 19 files changed, 4 insertions(+), 33 deletions(-) diff --git a/gcc/rust/typecheck/rust-hir-type-check-expr.cc b/gcc/rust/typecheck/rust-hir-type-check-expr.cc index 101ed082a277..8bbbc224c8d3 100644 --- a/gcc/rust/typecheck/rust-hir-type-check-expr.cc +++ b/gcc/rust/typecheck/rust-hir-type-check-expr.cc @@ -41,13 +41,7 @@ TypeCheckExpr::Resolve (HIR::Expr *expr) expr->accept_vis (resolver); if (resolver.infered == nullptr) - { - // FIXME - // this is an internal error message for debugging and should be removed - // at some point - rust_error_at (expr->get_locus (), "failed to type resolve expression"); - return new TyTy::ErrorType (expr->get_mappings ().get_hirid ()); - } + return new TyTy::ErrorType (expr->get_mappings ().get_hirid ()); auto ref = expr->get_mappings ().get_hirid (); resolver.infered->set_ref (ref); diff --git a/gcc/testsuite/rust/compile/break1.rs b/gcc/testsuite/rust/compile/break1.rs index 91cabffa8943..e33077f6e2a4 100644 --- a/gcc/testsuite/rust/compile/break1.rs +++ b/gcc/testsuite/rust/compile/break1.rs @@ -2,5 +2,4 @@ fn main() { let a; a = 1; break a; // { dg-error "cannot 'break' outside of a loop" } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-1 } } diff --git a/gcc/testsuite/rust/compile/break2.rs b/gcc/testsuite/rust/compile/break2.rs index 5ac806aeb9ed..7d5803169329 100644 --- a/gcc/testsuite/rust/compile/break2.rs +++ b/gcc/testsuite/rust/compile/break2.rs @@ -6,7 +6,6 @@ fn main() { while b > 10 { if (b == 2) { break b; // { dg-error "can only break with a value inside 'loop'" } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-1 } } c = a + b; a = b; diff --git a/gcc/testsuite/rust/compile/cfg2.rs b/gcc/testsuite/rust/compile/cfg2.rs index 939384c5b7da..e4c90d96dd49 100644 --- a/gcc/testsuite/rust/compile/cfg2.rs +++ b/gcc/testsuite/rust/compile/cfg2.rs @@ -9,5 +9,4 @@ fn main() { let a = Foo; a.test(); // { dg-error "failed to resolve method for .test." "" { target *-*-* } .-1 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/continue1.rs b/gcc/testsuite/rust/compile/continue1.rs index 994312b52cc6..f1b58f69271c 100644 --- a/gcc/testsuite/rust/compile/continue1.rs +++ b/gcc/testsuite/rust/compile/continue1.rs @@ -4,7 +4,6 @@ fn main() { let _fib = { continue; // { dg-error "cannot 'continue' outside of a loop" } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-1 } 123 }; } diff --git a/gcc/testsuite/rust/compile/generics4.rs b/gcc/testsuite/rust/compile/generics4.rs index 8af13586a373..e8fe23cd2688 100644 --- a/gcc/testsuite/rust/compile/generics4.rs +++ b/gcc/testsuite/rust/compile/generics4.rs @@ -3,14 +3,10 @@ struct GenericStruct(T, usize); fn main() { let a2; a2 = GenericStruct::(1, 456); // { dg-error "generic item takes at most 1 type arguments but 2 were supplied" } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } - // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-2 } - // { duplicate _dg-error {failed to type resolve expression} "" { target *-*-* } .-3 } + // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-1 } let b2: i32 = a2.0; // { dg-error {Expected Tuple or ADT got: T\?} "" { target *-*-* } .-1 } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-2 } let c2: usize = a2.1; // { dg-error {Expected Tuple or ADT got: T\?} "" { target *-*-* } .-1 } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/generics6.rs b/gcc/testsuite/rust/compile/generics6.rs index 3b81e1bbee10..ad5b682d0ba7 100644 --- a/gcc/testsuite/rust/compile/generics6.rs +++ b/gcc/testsuite/rust/compile/generics6.rs @@ -24,8 +24,6 @@ impl Foo { fn main() { let a: i32 = Foo::test(); // { dg-error "multiple applicable items in scope for: test" } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } - // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-2 } - // { duplicate _dg-error {failed to type resolve expression} "" { target *-*-* } .-3 } + // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-1 } } diff --git a/gcc/testsuite/rust/compile/generics7.rs b/gcc/testsuite/rust/compile/generics7.rs index 2789c30ee384..aeb91a6fb419 100644 --- a/gcc/testsuite/rust/compile/generics7.rs +++ b/gcc/testsuite/rust/compile/generics7.rs @@ -24,5 +24,4 @@ fn main() { let a = Foo { a: 123 }; a.bar(); // { dg-error "multiple candidates found for method .bar." "" { target *-*-* } .-1 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/issue-2029.rs b/gcc/testsuite/rust/compile/issue-2029.rs index 80af22892562..78569631eb11 100644 --- a/gcc/testsuite/rust/compile/issue-2029.rs +++ b/gcc/testsuite/rust/compile/issue-2029.rs @@ -5,7 +5,6 @@ fn foo(_: usize) -> Foo { fn main() { match Foo(true) { - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-1 } foo(x) // { dg-error "expected tuple struct/variant, found" "" { target *-*-* } .-1 } => () diff --git a/gcc/testsuite/rust/compile/issue-2139.rs b/gcc/testsuite/rust/compile/issue-2139.rs index 780ed58d5cc6..77bf78d13a7f 100644 --- a/gcc/testsuite/rust/compile/issue-2139.rs +++ b/gcc/testsuite/rust/compile/issue-2139.rs @@ -12,5 +12,4 @@ fn main() { let a: u16 = 123; a.foo(); // { dg-error "failed to resolve method for .foo." "" { target *-*-* } .-1 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/issue-2190-1.rs b/gcc/testsuite/rust/compile/issue-2190-1.rs index 85091b22e3b6..3e43e5410497 100644 --- a/gcc/testsuite/rust/compile/issue-2190-1.rs +++ b/gcc/testsuite/rust/compile/issue-2190-1.rs @@ -7,5 +7,4 @@ trait Deref { fn foo>(t: &T) -> i32 { t.max(2) // { dg-error "failed to resolve method for .max." "" { target *-*-* } .-1 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/issue-925.rs b/gcc/testsuite/rust/compile/issue-925.rs index f6c071958f48..930b192c3d30 100644 --- a/gcc/testsuite/rust/compile/issue-925.rs +++ b/gcc/testsuite/rust/compile/issue-925.rs @@ -19,5 +19,4 @@ fn test() { let a = S; a.foo(); // { dg-error "multiple candidates found for method .foo." "" { target *-*-* } .-1 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/method1.rs b/gcc/testsuite/rust/compile/method1.rs index 18652406085b..d371bf271f81 100644 --- a/gcc/testsuite/rust/compile/method1.rs +++ b/gcc/testsuite/rust/compile/method1.rs @@ -9,5 +9,4 @@ pub fn main() { a.test(); // { dg-error "failed to resolve method for .test." "" { target *-*-* } .-1 } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/shadow1.rs b/gcc/testsuite/rust/compile/shadow1.rs index 77410e932daa..cef972adf339 100644 --- a/gcc/testsuite/rust/compile/shadow1.rs +++ b/gcc/testsuite/rust/compile/shadow1.rs @@ -3,5 +3,4 @@ fn main() { let mut x; x = true; x = x + 2; // { dg-error "cannot apply this operator to types bool and " } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } } diff --git a/gcc/testsuite/rust/compile/type-bindings1.rs b/gcc/testsuite/rust/compile/type-bindings1.rs index ad85ed97ecbc..dc0e274fdd5f 100644 --- a/gcc/testsuite/rust/compile/type-bindings1.rs +++ b/gcc/testsuite/rust/compile/type-bindings1.rs @@ -4,7 +4,5 @@ fn main() { let a; a = Foo::(123f32); // { dg-error "associated type bindings are not allowed here" "" { target *-*-* } .-1 } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-2 } - // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-3 } - // { duplicate _dg-error {failed to type resolve expression} "" { target *-*-* } .-4 } + // { dg-error {Failed to resolve expression of function call} "" { target *-*-* } .-2 } } diff --git a/gcc/testsuite/rust/compile/unary_negation.rs b/gcc/testsuite/rust/compile/unary_negation.rs index 848643f0bd28..bb59d19eed86 100644 --- a/gcc/testsuite/rust/compile/unary_negation.rs +++ b/gcc/testsuite/rust/compile/unary_negation.rs @@ -5,5 +5,4 @@ fn main() { let d: i32 = !3; let e: f32 = -true; // // { dg-error "cannot apply unary - to bool" } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } } diff --git a/gcc/testsuite/rust/compile/unary_not.rs b/gcc/testsuite/rust/compile/unary_not.rs index b0a3dafbbd08..7e4de3dc0303 100644 --- a/gcc/testsuite/rust/compile/unary_not.rs +++ b/gcc/testsuite/rust/compile/unary_not.rs @@ -5,5 +5,4 @@ fn main() { let d: i32 = !3; let e: f32 = !5f32; // { dg-error "cannot apply unary '!' to f32" } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } } diff --git a/gcc/testsuite/rust/compile/unconstrained_type_param.rs b/gcc/testsuite/rust/compile/unconstrained_type_param.rs index 9f3db93a5e76..a510332f167c 100644 --- a/gcc/testsuite/rust/compile/unconstrained_type_param.rs +++ b/gcc/testsuite/rust/compile/unconstrained_type_param.rs @@ -11,5 +11,4 @@ fn main() { let a = Foo::test(); // { dg-error "expected" "" { target *-*-* } .-1 } // { dg-error "Failed to resolve expression of function call" "" { target *-*-* } .-2 } - // { dg-error "failed to type resolve expression" "" { target *-*-* } .-3 } } diff --git a/gcc/testsuite/rust/compile/usize1.rs b/gcc/testsuite/rust/compile/usize1.rs index b1c8fe864736..36cb99b5574a 100644 --- a/gcc/testsuite/rust/compile/usize1.rs +++ b/gcc/testsuite/rust/compile/usize1.rs @@ -2,5 +2,4 @@ fn main() { let a = [1, 2, 3]; let b: u32 = 1; let c = a[b]; // { dg-error "the type ...integer..CAPACITY.. cannot be indexed by .u32." } - // { dg-error {failed to type resolve expression} "" { target *-*-* } .-1 } } -- 2.47.2