* Add missing activeness check when reading from globalKeyInputs
changelog_begin
- Engine. Fix lookup by key. See issue Lookup archived contracts may succeed when combined with rollback exceptions #14107 for more details.
changelog_end
* Add failing test
* Do not overwrite existing dalfs when installing a dar dependency
changelog_begin
* data-dependencies: fixed an issue with the handling of transitive dependencies through a data-dependency (#13981)
changelog_end
* Add integration test for runtime check of contract id in contract key
* Replace 'LookupKeyed' with 'FetchKeyed' in 'blindFetch' scenario
changelog_begin
changelog_end
* Replace 'FetchKeyed' with 'LookupKeyed' in 'divulgeeLookup' scenario
* Add failing test case
* Use convTypeLiftingConstraintTuples for superclasses
changelog_begin
* data-dependencies: fixed an issue with the handling of constraint synonyms in superclasses (#13916)"
changelog_end
This changes the output of `daml test`, such that at the end of the test
suite a summary is printed, indicating which tests failed and which
passed.
Fixes#13535.
CHANGELOG_BEGIN
CHANGELOG_END
* Add parens around 'fromAnyException' view pattern in '_tryCatch' desugaring
* Add parens around desugared 'setField' calls and around its first argument.
* Update desugaring golden files
* Add golden test for parens around 'setField' in renamed daml
changelog_begin
changelog_end
This adds an option to specify a pattern such that only tests containing
the given pattern in their name will be executed.
Fixes#13534.
CHANGELOG_BEGIN
CHANGELOG_END
* ifaces:support exercising by required interface
This adds support to exercise an interface choice on a contract ID,
where the interface is required by one of the implemented interfaces of
the contract template.
Fixes#13434.
CHANGELOG_BEGIN
CHANGELOG_END
* some improvements based on review
* added a test plus a bugfix
* Update daml-lf/interpreter/src/main/scala/com/digitalasset/daml/lf/speedy/PhaseOne.scala
Co-authored-by: Sofia Faro <sofia.faro@digitalasset.com>
* 2 more interface tests for the command preprocessor
Co-authored-by: Sofia Faro <sofia.faro@digitalasset.com>
* Add Keyability check in DA.Daml.LF.TypeChecker
* Update expected errors in daml-test-files/ContractIdInContractKey.daml
* Update no-contract-ids-in-keys daml-lf scenario test to circumvent new check
changelog_begin
[Daml Compiler] Implemented compile-time check disallowing ContractId types in contract key types. This check looks for potential problems with the contract key type only within the template's module.
changelog_end
Co-authored-by: Sofia Faro <sofia.faro@digitalasset.com>
* ghc-lib:remove unused let bindings
This updates ghc-lib, such that no unused let bindings are created in
Archive choices.
Fixes#13431.
CHANGELOG_BEGIN
CHANGELOG_END
* update ghc-lib hash
* Update of InterfaceDesugared.daml
changelog_begin
- [Daml Stdlib] Add `unionWith` function. `unionWith` is a more
flexible version of `union` that accepts a function to combine
values found in both maps.
changelog_end
* Generalize buildLfPackageGraph to arbitrary payload type
* Reinstate 'data-dependencies + exposed-modules' test without quickcheck
* Add property-based test on the graph resulting from buildLfPackageGraph'
changelog_begin
changelog_end
* Convert experimental primitive TYPEREP_TYCON_NAME into proper LF builtin
* Add entry for TYPEREP_TYCON_NAME in daml-lf spec
* disable quickcheck test in DA.Test.Packaging
changelog_begin
changelog_end
* interfaces: Make fromInterfaceContractId pure.
This PR changes `fromInterfaceContractId` to make it pure. This means
it cannot verify the contract id coercion, and should only be used
with care. To balance this, this PR also adds `fetchFromInterface` which
combines a `fetch` with a `fromInterface` and `fromInterfaceContractId`,
to serve as a safer alternative to `fromInterfaceContractId`, and is more
useful than the old `fromInterfaceContractId` since it also returns the
fetched & converted contract payload.
changelog_begin
changelog_end
* fix integration tests
* add submitMustFail tests for fromInterfaceContractId
We add tests to check that by_interface fields are set for interface
transactions. We also extend the scenario service to show the
by_interface fields in the pretty printed transactions.
Fixes#13333
CHANGELOG_BEGIN
CHANGELOG_END
Previously, all dependencies were installed first in a single step, and then
the data-dependencies were installed according to the dependency graph.
This failed for dependencies with data-dependencies since those are processed later.
This was achieved by installing _all_ dependencies and data-dependencies according to the
dependency graph. Additionally, to ensure that the instance-rewriting behavior is preserved,
the dependency graph is extended with edges from each data-dependency to the subset of
dependencies without data-dependencies.
[instance rewriting behaviour: the class instances from data-dependencies are rewritten
to refer to a matching class definition from a dependency when such a class definition exists.
]
* Add edges from each data-dependency to all dependencies without data-dependencies
* Generate stub sources inside for loop
* Update PackageMap manually
* Make PackageNode a sum type
* Add TODO for replacing recachePkgDb
* Tests
* Generalize 'data-dependencies + exposed-modules' test with QuickCheck
* Add test for building a project where a dependency has a data-dependency
* Add test for building a project where a dependency has a data-dependency which is a plain dependency of the main project
* Add test for building a project where a dependency has a data-dependency which is not a dependency of any kind of the main project
changelog_begin
changelog_end
We encounter that when there are no transactions which can happen
legitimately if you’re testing pure functions.
fixes#11244
changelog_begin
- [Daml Studio] Fix an issue where script views failed to display if
there were no transactions. Now you can see trace messages even in
those cases.
changelog_end
* Replace scenario messages with script
In theory we could try to be clever and print the "right" thing. In
practice, scenarios are almost dead so the complexity for that doesn’t
seem worth it.
fixes#13178
changelog_begin
changelog_end
* .
* Speed up Daml repl startup
Daml repl startup is stupidly slow to the point where starting up and
executing 1+1 takes ~7s (piped to stdin so no typing included).
This PR speeds this up to ~4.5s. In addition to that, we also display
the repl process sooner and complete the last bit of setup while the
user is typing.
Specifically, we do the following:
1. Startup the JVM process in parallel with initializing our package
db and only block on it once it’s started (and remove a stupid 1s
sleep which doesn’t actually matter).
2. Load all packages in one go instead of one by one. This (roughly)
matches how the script service works.
3. Only block on packages being loaded once we start running the
script. Users can type before and we even typecheck their stuff
before.
We could take this further and do even more in parallel with users
typing but this seems to strike a good balance between implementation
complexity, UX (if startup actually fails you get somewhat sensible
errors) & performance.
changelog_begin
changelog_end
* handle tls logs
changelog_begin
changelog_end
* Update compiler/damlc/daml-compiler/src/DA/Daml/Compiler/Repl.hs
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
* s/terminateBarrier/exitBarrier/
changelog_begin
changelog_end
Co-authored-by: Moisés Ackerman <6054733+akrmn@users.noreply.github.com>
Process:
- `git ls-files -z | xargs -0 -n 100 sed -i --follow-symlinks 's/DAML/Daml/g'`
- `git add -p`
- `git restore -p`
- Check there is no unstaged change left.
To review:
- Check for false positives by carefully reviewing the diff in this PR.
- Check for false negatives with `git grep DAML`.
- Quicker check for fals positives:
```
git grep DAML | grep -v migration | grep -v DAML_
```
Fixes#13190
Note: This is the "second half" of #13191, which failed to cover all the
remaining DAMLs because of:
```
$ git ls-files | grep "'"
compiler/damlc/tests/daml-test-files/MangledScenario'.daml
```
CHANGELOG_BEGIN
CHANGELOG_END