summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--T21705/a/Foo.hs6
-rw-r--r--T21705/a/a.cabal8
-rw-r--r--T21705/b/b.cabal9
-rw-r--r--T21705/c/Bar.hs6
-rw-r--r--T21705/c/c.cabal11
-rw-r--r--T21705/cabal.project1
6 files changed, 41 insertions, 0 deletions
diff --git a/T21705/a/Foo.hs b/T21705/a/Foo.hs
new file mode 100644
index 0000000000..dfbbb90058
--- /dev/null
+++ b/T21705/a/Foo.hs
@@ -0,0 +1,6 @@
+{-# LANGUAGE Trustworthy #-}
+module Foo where
+
+import Unsafe.Coerce (unsafeCoerce)
+
+x = unsafeCoerce
diff --git a/T21705/a/a.cabal b/T21705/a/a.cabal
new file mode 100644
index 0000000000..b5d01c8af9
--- /dev/null
+++ b/T21705/a/a.cabal
@@ -0,0 +1,8 @@
+name: a
+version: 0
+build-type: Simple
+
+library
+ exposed-modules:
+ Foo
+ build-depends: base
diff --git a/T21705/b/b.cabal b/T21705/b/b.cabal
new file mode 100644
index 0000000000..244f6d9640
--- /dev/null
+++ b/T21705/b/b.cabal
@@ -0,0 +1,9 @@
+name: b
+version: 0
+build-type: Simple
+
+library
+ reexported-modules:
+ Foo
+ build-depends: base
+ , a
diff --git a/T21705/c/Bar.hs b/T21705/c/Bar.hs
new file mode 100644
index 0000000000..4950384014
--- /dev/null
+++ b/T21705/c/Bar.hs
@@ -0,0 +1,6 @@
+{-# LANGUAGE Safe #-}
+{-# LANGUAGE NoImplicitPrelude #-}
+{-# OPTIONS_GHC -fpackage-trust #-}
+module Bar where
+
+import Foo
diff --git a/T21705/c/c.cabal b/T21705/c/c.cabal
new file mode 100644
index 0000000000..d55b95d9f0
--- /dev/null
+++ b/T21705/c/c.cabal
@@ -0,0 +1,11 @@
+name: c
+version: 0
+build-type: Simple
+
+library
+ exposed-modules:
+ Bar
+ build-depends: base
+ , b
+ --ghc-options: -trust a
+ ghc-options: -trust b
diff --git a/T21705/cabal.project b/T21705/cabal.project
new file mode 100644
index 0000000000..21bbb8b27b
--- /dev/null
+++ b/T21705/cabal.project
@@ -0,0 +1 @@
+packages: a b c