
#10635: -fwarn-redundant-constraints should not be part of -Wall -------------------------------------+------------------------------------- Reporter: Lemming | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.11 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: #9939, #9973, | Differential Rev(s): #10100, #10183, #11370 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by Lemming): I have another example: The package `llvm-tf` (derived from `llvm`) uses type classes without methods in order to formalize the type restrictions set by the LLVM framework. E.g. `IsPrimitive` is the class for types of elements of vectors, `IsArithmetic` is the class for types supporting addition, multiplication and so on. However, only their super class `IsType` has a method `typeDesc :: Proxy a -> TypeDesc` that returns the `LLVM` structure for the according type. The LLVM function for addition takes this `TypeDesc` and it could in principle hold a non-Arithmetic type. We exclude this using the `IsArithmetic` class, but there is no `IsArithmetic` method to call that would force us to restrict the LLVM additon function to Arithmetic types. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10635#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler