dargent: only allow exact match for prim types

[skip bamboo]
diff --git a/cogent/src/Cogent/TypeCheck/Solver/Simplify.hs b/cogent/src/Cogent/TypeCheck/Solver/Simplify.hs
index 6c42e7d..3d16c16 100644
--- a/cogent/src/Cogent/TypeCheck/Solver/Simplify.hs
+++ b/cogent/src/Cogent/TypeCheck/Solver/Simplify.hs
@@ -189,7 +189,7 @@
   TLPrim n       :~ T TUnit | evalSize n >= 0 -> hoistMaybe $ Just []
   TLPrim n       :~ tau
     | isPrimType tau
-    , primTypeSize tau <= evalSize n
+    , primTypeSize tau == evalSize n
     -> hoistMaybe $ Just []
     | isBoxedType tau
     , evalSize n == pointerSizeBits
diff --git a/cogent/tests/tests/dargent/config.yaml b/cogent/tests/tests/dargent/config.yaml
index dea8527..32a9ef3 100644
--- a/cogent/tests/tests/dargent/config.yaml
+++ b/cogent/tests/tests/dargent/config.yaml
@@ -17,6 +17,7 @@
     - fail_layout-no-overlapping.cogent    
     - fail_layout-too-small-prim.cogent    
     - fail_layout-unboxed.cogent
+    - fail_ticket-381.cogent
   expected_result: fail
   flags:
     - -t
diff --git a/cogent/tests/tests/dargent/fail_ticket-381.cogent b/cogent/tests/tests/dargent/fail_ticket-381.cogent
new file mode 100644
index 0000000..77fd5ad
--- /dev/null
+++ b/cogent/tests/tests/dargent/fail_ticket-381.cogent
@@ -0,0 +1,4 @@
+type R =  { f : U32 } layout record { f: 77b at 44b }
+
+foo : R -> R
+foo r { f } = r { f }
diff --git a/cogent/tests/tests/dargent/pass_layout-operator.cogent b/cogent/tests/tests/dargent/pass_layout-operator.cogent
index b4bc034..5075bc7 100644
--- a/cogent/tests/tests/dargent/pass_layout-operator.cogent
+++ b/cogent/tests/tests/dargent/pass_layout-operator.cogent
@@ -1,5 +1,5 @@
 
-foo : () -> { a : U8 } layout record { a : 4B at 1B }
+foo : () -> { a : U8 } layout record { a : 8b at 1B }
 
 bar : () -> { a : U8 }