diff options
| author | Jack Koenig | 2016-11-01 15:27:45 -0700 |
|---|---|---|
| committer | Adam Izraelevitz | 2016-11-01 15:27:45 -0700 |
| commit | 097cd70a1f44a4181297e4e6dadaec03f4c92636 (patch) | |
| tree | 22d6590aab53c8b120f97507d622d4a5da27d55c | |
| parent | 938f1e7317984f40e59bb7744d95124ab7350c1c (diff) | |
Fix Match Error in Check Types on Partial Connect (#359)
Fixes #329
| -rw-r--r-- | src/main/scala/firrtl/passes/Checks.scala | 1 | ||||
| -rw-r--r-- | src/test/scala/firrtlTests/UnitTests.scala | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/passes/Checks.scala b/src/main/scala/firrtl/passes/Checks.scala index 8eebda2f..2f3f6204 100644 --- a/src/main/scala/firrtl/passes/Checks.scala +++ b/src/main/scala/firrtl/passes/Checks.scala @@ -428,6 +428,7 @@ object CheckTypes extends Pass { ) case (t1: VectorType, t2: VectorType) => bulk_equals(t1.tpe, t2.tpe, flip1, flip2) + case (t1, t2) => false } } diff --git a/src/test/scala/firrtlTests/UnitTests.scala b/src/test/scala/firrtlTests/UnitTests.scala index 7feb4a00..245c32e8 100644 --- a/src/test/scala/firrtlTests/UnitTests.scala +++ b/src/test/scala/firrtlTests/UnitTests.scala @@ -290,4 +290,25 @@ class UnitTests extends FirrtlFlatSpec { } } } + + "Partial connecting incompatable types" should "throw an exception" in { + val passes = Seq( + ToWorkingIR, + ResolveKinds, + InferTypes, + CheckTypes) + val input = + """circuit Unit : + | module Unit : + | input foo : { bar : UInt<32> } + | output bar : UInt<32> + | bar <- foo + |""".stripMargin + intercept[PassException] { + passes.foldLeft(Parser.parse(input.split("\n").toIterator)) { + (c: Circuit, p: Pass) => p.run(c) + } + } + + } } |
