-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathRequiredSymbolsTest.hs
61 lines (50 loc) · 1.13 KB
/
RequiredSymbolsTest.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{-
Copyright (c) Meta Platforms, Inc. and affiliates.
All rights reserved.
This source code is licensed under the BSD-style license found in the
LICENSE file in the root directory of this source tree.
-}
module RequiredSymbolsTest where
import Data.Int
import Thrift.Channel
import Thrift.Monad
import Thrift.Protocol
import qualified Data.Map.Strict as Map
import Huge.Types
import Huge.Service.Client
-- This stuff is defined in huge.thrift, but we don't require it so it shouldn't
-- already be in scope
data A
data B
data G
data H
data I
data J
data K
data L
data M
data N
data O
data P
data Q
data R
data S
data T
data U
data V
weDontNeedThis :: ()
weDontNeedThis = ()
-- All this stuff should be in scope
cThing :: C
cThing = C (D F_F) (E foo)
xThing :: X
xThing = Z $ Map.fromList [(Y_Y, Z Map.empty)]
functionThing :: ()
functionThing = ()
where _xx :: (Protocol p, ClientChannel c) => Int64 -> ThriftM p c Service ()
_xx = weNeedThis
didTheHsIncludeThingMakeIt :: HsInclude
didTheHsIncludeThingMakeIt = HsInclude
main :: IO ()
main = cThing `seq` xThing `seq`
functionThing `seq` weDontNeedThis `seq` return ()