* Add errors for self, this, and arg. Add many tests
* All WarnUnsupportDamlNames flag, warn for non breaking names, update tests
* Rename flag, update test
* Update to merged ghc version, changelog
* point to updated ghc
* point to updated GHC
* point to updated GHCIDE
* point to updated ghc
* Make _requires_ non-writable by inserting dollar - amend detectors
* Make _choice_ declarations non-writable (add dollar)
* Add checks for dollar-gen'd code require/view/interface_instance/method
* point to updated GHC
* point to updated ghc
* satisfy changelog
CHANGELOG_BEGIN
CHANGELOG_END
* point to updated GHC
* Point to updated ghcide
* update desugar tests
* point to revised daml-ghcide
* point to updated ghc
* point to updated ghc
* replace with isDamlGenerated
* point to merged ghc and merged ghcide
* add -Xlint options requiring no changes
* add -Xlint:recurse-with-default
- very minor code changes
* factor http-json hj_scalacopts duplication
* use lf_scalacopts_stricter in libs-scala where NonUnitStatements was
* use hj_scalacopts in api-type-signature
* add nonlocal-return and nullary-unit to hj_scalacopts
* commented-out excluded options
* add unit-special globally
* check implicit-recursion for clients code
* Add new security categories
* Use test-security framework for OAuth2 middleware
* Regenerate `security-evidence.md`
* Explicitely exit the test-evidence generator
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Add //ledger-service/http-json:integration-tests-lib to evidence generator
* Skip maven artefacts on the classpath
The checker framework artefact (`checker-2.5.4.jar`) causes an `IllegalAccessError` when included in the runpath:
```
Exception in thread "main" java.lang.IllegalAccessError: class com.sun.tools.javac.code.Scope$ImportScope$ImportEntry cannot access its superclass com.sun.tools.javac.code.Scope$Entry (com.sun.tools.javac.code.Scope$ImportScope$ImportEntry is in unnamed module of loader java.net.URLClassLoader @31000e60; com.sun.tools.javac.code.Scope$Entry is in module jdk.compiler of loader app)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:550)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:458)
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:452)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:451)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at org.scalatest.tools.SuiteDiscoveryHelper$.isDiscoverableSuite(SuiteDiscoveryHelper.scala:204)
at org.scalatest.tools.SuiteDiscoveryHelper$.processClassName(SuiteDiscoveryHelper.scala:243)
at org.scalatest.tools.SuiteDiscoveryHelper$.$anonfun$processFileNames$1(SuiteDiscoveryHelper.scala:279)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:577)
at scala.collection.Iterator$$anon$6.hasNext(Iterator.scala:474)
at scala.collection.Iterator$$anon$9.hasNext(Iterator.scala:576)
at scala.collection.immutable.List.prependedAll(List.scala:152)
at scala.collection.immutable.List$.from(List.scala:684)
at scala.collection.immutable.List$.from(List.scala:681)
at scala.collection.IterableFactory$Delegate.from(Factory.scala:288)
at scala.collection.immutable.Iterable$.from(Iterable.scala:35)
at scala.collection.immutable.Iterable$.from(Iterable.scala:32)
at scala.collection.IterableFactory$Delegate.from(Factory.scala:288)
at scala.collection.IterableOnceExtensionMethods$.toIterable$extension(IterableOnce.scala:178)
at org.scalatest.tools.SuiteDiscoveryHelper$.processFileNames(SuiteDiscoveryHelper.scala:285)
at org.scalatest.tools.SuiteDiscoveryHelper$.$anonfun$discoverSuiteNames$1(SuiteDiscoveryHelper.scala:132)
at scala.collection.immutable.List.map(List.scala:250)
```
* Regenerate `security-evidence.md`
* Convert remaining TEST_EVIDENCE stanzas of HTTP JSON
* Regenerate `security-evidence.md`
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Print warning when a test suite could not be loaded
* Fix typo
* Use test-security framework for HTTP JSON
* Read files in tests lazily
The test-evidence generator tool needs to instantiate scalatest test suites in order
to access the tagged tests and collect relavant test entries.
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Regenerate `security-evidence.md`
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Use test-security framework for HTTP JSON
* Regenerate `security-evidence.md`
* Use test-security framework for trigger service
* Use structural type to call `in` and `ignore` for different classes
* Remove Authentication category from EvidenceSecurity tool
There are no TEST_EVIDENCE annotations anymore.
* Add required trigger-runner-lib
* Import `scala.language.reflectiveCalls` where it is needed
* Remove left-over comments
* Add `test_evidence_binary` scala binary rule
This rule is a customized `scala_binary` rule which also accepts a `tests` attr and
generates a runpath file which is later consumed by scalatest to detect the relevant
scalatest test suites.
* Process test suites, add transitive deps
* Support nested tests_suites in `test_evidence_binary`
* Remove debug print's
* Add missing dependencies to test-evidence:generator
* Abort if test suites cannot be loaded
* Cleanup
* Reinstate scalacopts in http-json
* Reword the test description to not drop information
* Fix typo
* Explicitly exit the JVM on exceptions
This is required since non-daemon threads also prevent JVM shutdown when an exception was thrown.
* Format test-evidence/BUILD.bazel
* Resolve file paths lazily
This avoids a `NullPointerException` on Windows where Runfiles.rlocation returns `null`.
* Document new Security properties
* Print target directory and file name
* Clarify test descriptions
* Replace duplicate Security properties
Co-authored-by: Stephen Compall <stephen.compall@daml.com>Co-authored-by: Stephen Compall <stephen.compall@daml.com>
* point to GHC with improved error
* Point to new GHC
* Fix error in RelTimeDetailsHidden1
* Point to updated ghc
* Point to new GHC
* Satisfy changelog check
CHANGELOG_BEGIN
CHANGELOG_END
* Fix assertion in RelTimeDetailsHidden1
* Amend tests with out-of-bounds NumericScale, point to updated GHC
* Drop quotes around type error
* Add tests for field access errors
* point to merged GHC
* point to updated GHC
* satisfy changelog
CHANGELOG_BEGIN
CHANGELOG_END
* Point to updated GHC
* Expect new interface view error message in ImplementsNonInterface
* Add test for trying to implement a non-interface
* Point to GHC with better error suppression, fix tests
* Remove unused TryImplementNonInterface
* point to rebased ghc
* point to forwarded GHC changes
* point to updated GHC
* Fix expected error in ImplementsNonInterface
* Point to merged commit
* Prevent unused import warnings
* Remove all explicit occurences of GHC.Tuple.Check
* Update desugar tests
* Remove magic from GHC.Tuple.Check
* Add GHC.Tuple.Check back to DarReaderTest
* Point to merged changes
* Create tuple size check function in GHC.Tuple.Check
* Update desugar test
* lint
* Fix accidental minus in stable-packages
* Replace GHC.Types with GHC.Tuple.Check in doctest generation
* Fix DarReaderTest
* Fix DamlDocTest for GHC.Tuple.Check import
* Remove unnecessary DamlSyntax pragma
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Point to merged GHC changes
* Point to akrmn's merged in changes
* Point back at merged in changes
* restart CI
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* point to updated GHC
* satisfy changelog
CHANGELOG_BEGIN
CHANGELOG_END
* Point to updated GHC
* Expect new interface view error message in ImplementsNonInterface
* Add test for trying to implement a non-interface
* Point to GHC with better error suppression, fix tests
* Remove unused TryImplementNonInterface
* Point to merged GHC
* Success!
* Remove dead / unnecessary code from debugging
* Remove unused `userWrittenTuple` helper
* Import `GHC.Types.magic` where necessary
* Test for example in issue #15338
* satisfy changelog check
CHANGELOG_BEGIN
CHANGELOG_END
* Remove fst/snd lint tests, which weren't correct/useful anyways
* Update DocTest to import GHC.Types where necessary
* Update desugar tests
* Fix daml repl to include GHC.Types import
* Add GHC.Types to the doctest
* style improvement: if cond then action else pure () -> when cond action
* Point to merged GHC
* Point to fixed GHC
* Fix daml-test-files for improved GHC errors
* Fix error message to match critical parts of improved GHC errors
* satisfy changelog
CHANGELOG_BEGIN
CHANGELOG_END
* point to updated GHC
* Point to updated GHC
* Fix damlc tests for new GHC error messages
* Point to updated GHC
* Point to latest GHC with archive choices on interfaces
* Update Desugared daml for interfaces Archives
* satisfy changelog check
CHANGELOG_BEGIN
CHANGELOG_END
* Update daml-doc test files
* Add relevant identifiers to SignatureReaderSpec for iface Archive choice
* lint
* Point to GHC with generated HasArchive instance
* Add test for archive on interface
* Test that second archive doesn't work
* Update desugar tests
* Point to GHC merge
* Add warnings to conversion
* Fix warning code, add warning for tuples larger than 5 in convertType
* Add flag AllowLargeTuples to ignore when tuples of size > 5 are used
* Predicate tuple warning on AllowLargeTuples flag
* Compile stdlib / prim packages with --allow-large-tuples
* satisfy changelog
CHANGELOG_BEGIN
CHANGELOG_END
* Fix type error in LFConversion test due to runConvertM signature change
* Move warning to convertDataCon, so un-type-annotated uses are detected
* Add TODO
* Add codeGenAllowLargeTuples internal function to DA.Internal.Desugar
* Unsplit convertDataCon and convertDataCon' via envAllowLargeTuples check
* Desugar codeGenAllowLargeTuples call to allow large tuples on subexprs
* Point to GHC with auto-inserted codeGenAllowLargeTuples calls
* Reorder codeGenAllowLargeTuples replacement to be before internals check
* Export codeGenAllowLargeTuples from DA.Internal.Desugar
* Reverse warnings at end of ConvertM run
* Comment role of Either and tuple in ConvertM
* Rename --allow-large-tuples=yes to --disable-warn-large-tuples=yes
* Make disable_warn_large_tuples an option, false by default
* Add tests for tuple size warning
* Use minimum tuple size to trigger large tuple warning
* Disable large tuple warning during stdlib compilation
* Use a pattern synonym for tuple detection
* lint
* Point to GHC version with custom typecheck interface error messages
* Fix tests for new messages
* satisfy changelog check
CHANGELOG_BEGIN
CHANGELOG_END
* Point to GHC revision with TcDaml module & minor fixes
* Add TcDaml to ghc-lib.cabal
* Point to GHC: better HasMethod msg, uses PrelNames
* Point at non-PrelNames approach - turns out that didn't work
* Point to GHC with multiple module checks
* Point to GHC with tentative PrelNames work fully removed
* Add tests for new "non existent method" and "view" error messages
* Point to merged GHC changes
* Add version 1.15 - move interfaces into them
* Update Ast/Version & docs for 1.15, split interface into simple/extended
* Stage 1.15 protobuf
* Remove references to dev from 1.15 protobufs
* Add Tests file for 1.15 in ledger API testtool
* Update Version 1.15 changelog with Call/implements
* Make 1.14 default again
* Add 1.15 as preview version
* Add 1.15 test suite to testtool
* Reinclude 1.15 in COMPILER_LF_VERSIONS to build model-tests-1.15
* Move v1_15 ledger-api-tests into own suite
* Fix InterfaceNotSupported message to 1.15 or higher
* satisfy changelog check
CHANGELOG_BEGIN
CHANGELOG_END
* Update tests with extended interface features to only run on 1.dev
* Allow unsafe_from_interface and interface_template_type_rep in 1.15
* Fix StableVersions back to 1.14, make EarlyAccessVersions 1.15
* Run retroactive implements tests only in extended interfaces
* lint
* Temporarily disable 1.15 conformance tests - handle in another PR
* Also disable conformance-test-tls1.2-or-newer-1.15
* Disable PureConfigReaderWriter tests that assume early-access == stable
* lint
* Temporarily disable decode extended interface primitives test
* Use dictionary comprehension to generate ledger/test-common test_names
* Move InterfaceSubscriptionsIT test back into 1.dev suite
* lint
* Make exercise guards nullable, ignore Nothing in decode/encode
* Desugar UExerciseInterface[Guarded] differently, point to updated GHC
* Update to new GHC revision, removes pred argument from `exercise`
* Attach correct range to guard support error (if any)
Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Rename interface features
Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Remove unnecessary mention of v1_14 from supportedInputVersions
Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Clarify purpose of `Maybe Expr` type for exercise guard
Co-Authored-By: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Remove guarded exercise when Extended Interfaces are not enabled
* Remove all instances of guarded exercises in versions <= 1.15
* Add check for isId to splitDFunId
* Exclude via $cexerciseGuarded check - ClassOpId approach did not work
* Run damlc interface tests w/o requires when since DAML_INTERFACE
* Update desugared daml for UExerciseInterface[Guarded] generation
* Temporarily disable failing damlc tests
* Remove 1.dev-only references from 1.15 protobuf
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* Extract qualifyLocally in LFConversion
* Update ghc rev
* Add parent type argument to interface instance desugaring types
* Check interface instance parent in LFConversion
* Convert interface instances in interface declarations
* Update daml-test-files to use 'interface instance' syntax
* Update other tests to use 'interface instance' syntax
* Update interface reference docs to use 'interface instance' syntax
* Update other files to use 'interface instance' syntax
* Add todo in DA.Daml.LF.Ast.Pretty
* Add daml-test-files for retroactive interface instances
changelog_begin
changelog_end
* Point to new GHC with errors for missing views
* Add placeholder view to ImplementsNonInterface
* Fix doc comment in InterfaceViewNotSpecified
* Add test for error when method named `view` is declared
* Add placeholder unit viewtype to doc tests
* Update err message in ImplementsNonInterface - error now detected in LF
* empty changelog commit
CHANGELOG_BEGIN
CHANGELOG_END
* Damlc: Remove precondition for interfaces
follow up of #14511, goes together with digital-asset/ghc#129
* Address Ackerman's review
* Update ghc rev
CHANGELOG_BEGIN
CHANGELOG_END
* Point to new GHC version with viewtype and view syntax
* Make minimum modifications to erase newly generated view code
CHANGELOG_BEGIN
CHANGELOG_END
* Point to updated GHC - no longer requires viewtype/view at syntax level
* Add DA_Internal_Interface to convertTypeDef exclusion check
* Move desugared types/values for interface views into DA.Internal.Desugar
* Disable unused TypeFamilies extension in DA.Internal.Interface
* Point to updated GHC, "Remove shortViewName"
* Update to latest GHc view syntax changes
* Update GHC to merged view syntax changes