úÎ@¸=’(      !"#$%&'None<:5Selects those bindings that define the given variablePretty-print a sliceCPretty-print two slices, after removing variables occurring in bothÃThis is a heuristic, which only works if both slices have auxillary variables in the right order. (This is mostly to work-around the buggy CSE in GHC-8.0) It also breaks if there is shadowing.Returns True] if the given core expression mentions no type constructor anywhere that has the given name.QTrue if the given variable binding does not allocate, if called fully satisfied.’It currently does not look through function calls, which of course could allocate. It should probably at least look through local function calls.<The variable is important to know the arity of the function. ignore types Inspection testing(c) Joachim Breitner, 2017MITmail@joachim-breitner.de GHC specifcSafe1„!An annotation to keep names aliveInspection Testing for Haskell(c) Joachim Breitner, 2017MITmail@joachim-breitner.de GHC specifcNone018= The result of +, which a more or less helpful text message 2Properties of the obligation target to be checked. Are the two functions equal?More precisely: f is equal to g if either the definition of f is f = g, or the definition of g is g = f, or if the definitions are f = e and g = e.EIf the boolean flag is true, then ignore types during the comparison.tDoes this type not occur anywhere in the definition of the function (neither locally bound nor passed as arguments)/Does this function perform no heap allocations.:This data type describes an inspection testing obligation.$It is recommended to build it using ƒ, for backwards compatibility when new fields are added. You can also use the more memonic convenience functions like '(===)' or .%The obligation needs to be passed to .kThe target of a test obligation; invariably the name of a local definition. To get the name of a function foo, write 'foo. This requires  {-# LANGAUGE TemplateHaskell #-}.)The property of the target to be checked.An optional name for the test3Do we expect this property to fail? (Only used by  , not by )LThe source location where this obligation is defined. This is filled in by . If this is (d, then report errors during compilation. Otherwise, update the top-level definition with this name.jCreates an inspection obligation for the given function name with default values for the optional fields.9Convenience function to declare two functions to be equaltConvenience function to declare two functions to be equal, but ignoring type lambdas, type arguments and type casts—Convenience function to declare two functions to be equal, but expect the test to fail (This is useful for documentation purposes, or as a TODO list.)YConvenience function to declare that a function s implementation does not mention a type inspect $ fusedFunction  ''[]LAs seen in the example above, the entry point to inspection testing is the  function, to which you pass an 0. It will report test failures at compile time.wThis is a variant that allows compilation to succeed in any case, and instead indicates the result as a value of type  :, which allows seamless integration into test frameworks.This variant ignores the • field of the obligation. Instead, it is expected that you use the corresponding functionality in your test framework (e.g. tasty-expected-failure)   )*   9 9 9 None"#^=Q"#The plugin. It supports the option .-fplugin-opt=Test.Inspection.Plugin:keep-going to ignore a failing build.+>Like show, but omit the module name if it is he current module,,like prettySrcLoc, but omits the module name""-./0123456789       !"#$%&'()*+,-../0123456789:;<=-inspection-testing-0.2-36kwyZD63wDIRkhS5itOuRTest.Inspection.CoreTest.Inspection.InternalTest.InspectionTest.Inspection.PluginslicepprSlicepprSliceDifferenceeqSlice freeOfTypedoesNotAllocate KeepAlive$fDataKeepAliveResultFailureSuccessPropertyEqualToNoType NoAllocation ObligationtargetpropertytestName expectFailsrcLoc storeResult mkObligation=====-=/= hasNoTypeinspect inspectTest$fDataProperty$fDataObligation $fShowResultplugin$fEqUponFailure $fEnumStat$fEqStat $fOrdStat $fBoundedStatbaseGHC.BaseNothing SeenNames showTHNamemyPrettySrcLocStat ExpSuccess ExpFailure UnexpSuccess UnexpFailure StoredResult ResultTarget PrintAndAbortStoreAt UponFailureAbortCompilation KeepGoing