Changes between Version 7 and Version 8 of SafeHaskell
- Timestamp:
- 11/10/10 00:29:15 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SafeHaskell
v7 v8 47 47 * {{{TemplateHaskell}}} is also particularly dangerous, as it can cause side effects even at compilation time. 48 48 49 * The {{{OverlappingInstances}}} extension may allow unsafe actions, because untrusted code can potentially redefine a type instance (by containing a more specific instance definition) in a way that changes the behavior of code importing the untrusted module. 49 * The {{{OverlappingInstances}}} extension may allow unsafe actions, because untrusted code can potentially redefine a type instance (by containing a more specific instance definition) in a way that changes the behavior of code importing the untrusted module. '''SLPJ: this may be undesirable, but does it violate the Safety Goal?''' 50 50 51 * Likewise, {{{RULES}}} and {{{SPECIALIZE}}} pragmas can change the behavior of trusted code in unanticipated ways. 51 * Likewise, {{{RULES}}} and {{{SPECIALIZE}}} pragmas can change the behavior of trusted code in unanticipated ways. '''SLPJ: same question''' 52 52 53 * {{{OPTIONS_GHC}}} is probably dangerous in unfiltered form, as it could potentially expose packages with trusted but not trustworthy modules. 53 * {{{OPTIONS_GHC}}} is probably dangerous in unfiltered form, as it could potentially expose packages with trusted but not trustworthy modules. '''SLPJ: in general we must ensure that `-XSafe` is applied last, and overides everything else. I don't think we need disable options entirely''' 54 54 55 55 * The {{{StandaloneDeriving}}} extension can be used to violate constructor access control by defining instances of {{{Read}}} and {{{Show}}} to examine and construct data values with inaccessible constructors.
