@@ -2097,7 +2097,6 @@ fn f(x: u32) -> u32 {
20972097)" ;
20982098 XLS_ASSERT_OK_AND_ASSIGN (TypecheckedModule tm, Typecheck (program));
20992099 ASSERT_THAT (tm.warnings .warnings ().size (), 1 );
2100- std::string filename = " fake.x" ;
21012100 EXPECT_EQ (tm.warnings .warnings ().at (0 ).message ,
21022101 " Definition of `y` (type `uN[32]`) is not used in function `f`" );
21032102}
@@ -2111,7 +2110,6 @@ fn f(t: (u32, u32, u32, u32, u32)) -> u32 {
21112110)" ;
21122111 XLS_ASSERT_OK_AND_ASSIGN (TypecheckedModule tm, Typecheck (program));
21132112 ASSERT_THAT (tm.warnings .warnings ().size (), 5 );
2114- std::string filename = " fake.x" ;
21152113 EXPECT_EQ (tm.warnings .warnings ().at (0 ).message ,
21162114 " Definition of `a` (type `uN[32]`) is not used in function `f`" );
21172115 EXPECT_EQ (tm.warnings .warnings ().at (1 ).message ,
@@ -2134,7 +2132,6 @@ fn f(x: u32) -> u32 {
21342132)" ;
21352133 XLS_ASSERT_OK_AND_ASSIGN (TypecheckedModule tm, Typecheck (program));
21362134 ASSERT_THAT (tm.warnings .warnings ().size (), 1 );
2137- std::string filename = " fake.x" ;
21382135 EXPECT_EQ (tm.warnings .warnings ().at (0 ).message ,
21392136 " Definition of `y` (type `uN[32]`) is not used in function `f`" );
21402137}
@@ -2143,12 +2140,25 @@ TEST(TypecheckTest, ConcatU1U1) {
21432140 XLS_ASSERT_OK (Typecheck (" fn f(x: u1, y: u1) -> u2 { x ++ y }" ));
21442141}
21452142
2146- TEST (TypecheckTest, ConcatU1S1) {
2147- XLS_ASSERT_OK (Typecheck (" fn f(x: u1, y: s1) -> u2 { x ++ y }" ));
2143+ TEST (TypecheckErrorTest, ConcatU1S1) {
2144+ EXPECT_THAT (
2145+ Typecheck (" fn f(x: u1, y: s1) -> u2 { x ++ y }" ).status (),
2146+ IsPosError (" XlsTypeError" , HasSubstr (" Concatenation requires operand "
2147+ " types to both be unsigned bits" )));
2148+ }
2149+
2150+ TEST (TypecheckErrorTest, ConcatS1S1) {
2151+ EXPECT_THAT (
2152+ Typecheck (" fn f(x: s1, y: s1) -> u2 { x ++ y }" ).status (),
2153+ IsPosError (" XlsTypeError" , HasSubstr (" Concatenation requires operand "
2154+ " types to both be unsigned bits" )));
21482155}
21492156
21502157TEST (TypecheckTest, ConcatU2S1) {
2151- XLS_ASSERT_OK (Typecheck (" fn f(x: u2, y: s1) -> u3 { x ++ y }" ));
2158+ EXPECT_THAT (
2159+ Typecheck (" fn f(x: u2, y: s1) -> u3 { x ++ y }" ).status (),
2160+ IsPosError (" XlsTypeError" , HasSubstr (" Concatenation requires operand "
2161+ " types to both be unsigned bits" )));
21522162}
21532163
21542164TEST (TypecheckTest, ConcatU1Nil) {
0 commit comments