Conversation
… gather_dec_type_decs, so a term constructor is not only declared by applicable for infer_exp in pre mode (YUCK)
… type in gather_dec_type_decs, so a term constructor is not only declared by applicable for infer_exp in pre mode (YUCK)" This reverts commit 1e24652.
|
As I suspected, approximating the type of the constructor is unsound, but declaring it correctly requires yet another pass in the already complicated type checker. For now, I've gone for the simpler solution of assuming a constructor has type T.Pre, so that recursive references may require a type annotation to satisfy the type inferencer. Niote that the problem is guessing the domain of the class term constructor, not its codomain (which is obvious). |
|
With the current fix: The following fails to type check, reporting that the type of and this: is accepted, thanks to the extra annotation. |
|
So this is no longer WIP? |
|
No longer WIP, but only an interim fix. We might want to do better later, but I think the work I did with modules might help there. |
|
Hm, this seems to be another fallout of removing nominal class types, which used to break this recursion. I'm a bit worried that there are more lingering. |
## Changelog for ic-ref: Branch: release-0.15 Commits: [dfinity-lab/ic-ref@b631254e...0567b1c2](https://github.com/dfinity-lab/ic-ref/compare/b631254e17be3a2e709aeaf3a4fa180d85140988...0567b1c25c33564e238a5c3f473ea311b24e5e5d) * [`c16aa3b9`](https://github.com/dfinity-lab/ic-ref/commit/c16aa3b9c403c0840f6014a082a6cdef114e67cb) Prepare spec for inclusion in antora ([dfinity-lab/ic-ref#281](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/281)) * [`ecf54a7e`](https://github.com/dfinity-lab/ic-ref/commit/ecf54a7ea497670e31e3a191617a7b69b9ee8af9) Add independent nav page ([dfinity-lab/ic-ref#282](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/282)) * [`28e2e31d`](https://github.com/dfinity-lab/ic-ref/commit/28e2e31d9791d0c19cf6e702bd0ebfc1adb39064) ic-ref-test Implement controller and module_hash in state tree ([dfinity-lab/ic-ref#283](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/283)) * [`c23cce1b`](https://github.com/dfinity-lab/ic-ref/commit/c23cce1b982eff77dd285d7ce63209edb8a96b85) Spec: Add module hash and controller to state tree ([dfinity-lab/ic-ref#276](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/276)) * [`147c64d9`](https://github.com/dfinity-lab/ic-ref/commit/147c64d94ff6350a63e58df9690e5144bfe04045) ic-ref: Cache the module hash ([dfinity-lab/ic-ref#289](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/289)) * [`061abbd9`](https://github.com/dfinity-lab/ic-ref/commit/061abbd96edfcea6e9897e3dc5afdeb5d684e197) Clarify and test availability of certification APIs ([dfinity-lab/ic-ref#286](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/286)) * [`7381b702`](https://github.com/dfinity-lab/ic-ref/commit/7381b702eaca27c21b2323c77abbf5956ef556f7) Backport ingress filtering and secp256k1` * [`a5c34a30`](https://github.com/dfinity-lab/ic-ref/commit/a5c34a30bac688af2585ce7d6a9e893e8598c718) ic-ref(-test): Implement and test canister_inspect_message ([dfinity-lab/ic-ref#287](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/287)) * [`3a9dd6a2`](https://github.com/dfinity-lab/ic-ref/commit/3a9dd6a2f9c0ed93283bd6d3ab6f027f036e3152) ic-ref: Support for secp256k1 ([dfinity-lab/ic-ref#267](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/267)) * [`1b982e2a`](https://github.com/dfinity-lab/ic-ref/commit/1b982e2af1181a18654852e549f2f018543f6806) Fix merge mistake * [`1734e081`](https://github.com/dfinity-lab/ic-ref/commit/1734e0816d61e470d2fda918e825535d3c62a05e) a couple of gas to cycle conversion at 1:1 rate ([dfinity-lab/ic-ref#284](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/284)) * [`a4b893d0`](https://github.com/dfinity-lab/ic-ref/commit/a4b893d04a38e833365b5d83e015e98ba179935c) Fix more merge mistakes * [`49b6fbd2`](https://github.com/dfinity-lab/ic-ref/commit/49b6fbd288caf361e025e6920b6a4cd87ca2bd38) Bump version in ic-ref-test * [`cbffb694`](https://github.com/dfinity-lab/ic-ref/commit/cbffb6948129e61673c5d33a49231fe8445a59b5) ic-ref: Fix handling of canisters that do not expose `canister_inspect_message` ([dfinity-lab/ic-ref#291](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/291)) * [`f20ebb52`](https://github.com/dfinity-lab/ic-ref/commit/f20ebb5282f27d4f23b485f713fd15809627c38d) Changelog: Bump date * [`f5dbc81e`](https://github.com/dfinity-lab/ic-ref/commit/f5dbc81eb217797378a5833fa40f18bea77582a7) Github action to create antora tree on separate branch * [`6abf47b1`](https://github.com/dfinity-lab/ic-ref/commit/6abf47b116b58e25aecebc6460748de5e15a6984) antora: Leave “version” at `master` * [`ef246ddc`](https://github.com/dfinity-lab/ic-ref/commit/ef246ddcaa0fe4daf9084fd668b380a71b4abcdd) Fix antora script * [`14b5ad85`](https://github.com/dfinity-lab/ic-ref/commit/14b5ad85f4191896e9aad7a965cee92ee610f62e) ic-ref(-test): Allow anyone to use `deposit_cycles` ([dfinity-lab/ic-ref#297](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/297)) * [`77f368d0`](https://github.com/dfinity-lab/ic-ref/commit/77f368d006c337eab0df1620659133c1f7e48b10) Spec: deposit_cycles(): any caller allowed ([dfinity-lab/ic-ref#296](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/296)) * [`9f7c0c3c`](https://github.com/dfinity-lab/ic-ref/commit/9f7c0c3c0a31afd12e0403235ad23b5cdad12446) Fixed typos reported to Support - ZD [dfinity-lab/ic-ref#494](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/494) ([dfinity-lab/ic-ref#293](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/293)) * [`1785e252`](https://github.com/dfinity-lab/ic-ref/commit/1785e2526af428228b7f1dde37f4d35571b40122) Ingress messages are rejected if no Wasm module is present ([dfinity-lab/ic-ref#300](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/300)) * [`d6e31a37`](https://github.com/dfinity-lab/ic-ref/commit/d6e31a375ab2d55538a241d2144a907bb3944d4f) Bump version to 0.15.6 * [`b62322b7`](https://github.com/dfinity-lab/ic-ref/commit/b62322b77a1a02899b1757d00eac0116ce1fbc49) ic-ref-test: Test empty canister’s message inspection ([dfinity-lab/ic-ref#305](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/305)) * [`0445c044`](https://github.com/dfinity-lab/ic-ref/commit/0445c04423dcdf6a40611c48c7dd314e978cd682) Public Spec: Optional memory allocation => best-effort. ([dfinity-lab/ic-ref#301](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/301)) * [`dd7dcf43`](https://github.com/dfinity-lab/ic-ref/commit/dd7dcf43737e3a8375afbaa01c903c621501b788) ic-ref(-test): Implement ingress filtering for the management canister ([dfinity-lab/ic-ref#306](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/306)) * [`d6a13d3d`](https://github.com/dfinity-lab/ic-ref/commit/d6a13d3d4db401339fd820f8de59dcd409d511a2) Spec: Management canister’s message inspection ([dfinity-lab/ic-ref#304](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/304)) * [`d82e5ecd`](https://github.com/dfinity-lab/ic-ref/commit/d82e5ecdc6676e7b8c6a28a29e42a961e7e4c0b4) Spec: limits on globals and functions ([dfinity-lab/ic-ref#303](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/303)) * [`294a7d72`](https://github.com/dfinity-lab/ic-ref/commit/294a7d72a6615339a6000586a97e43cd35c827cd) Add date to changelog * [`26ce3648`](https://github.com/dfinity-lab/ic-ref/commit/26ce36485e4c6248bd0bd6b9a739a8ac97b0d7f9) Fix formatting in stable memory API descriptions ([dfinity-lab/ic-ref#295](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/295)) * [`01511a61`](https://github.com/dfinity-lab/ic-ref/commit/01511a617a9584f96d805e82d1fe13fd26cfa141) ic-ref: Improve 404 error message * [`3bb4279c`](https://github.com/dfinity-lab/ic-ref/commit/3bb4279cc5b81d2fa5ae02c0e011c2e3c30f7100) Typo: as it -> as it ([dfinity-lab/ic-ref#307](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/307)) * [`db1e9351`](https://github.com/dfinity-lab/ic-ref/commit/db1e93518da42ab6d32fda2931bef93825fa7228) Spec: Clarify wording around principals ([dfinity-lab/ic-ref#308](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/308)) * [`0567b1c2`](https://github.com/dfinity-lab/ic-ref/commit/0567b1c25c33564e238a5c3f473ea311b24e5e5d) ic-ref-test: Bump def_cycles to 80T
## Changelog for ic-ref: Branch: release-0.15 Commits: [dfinity-lab/ic-ref@b631254e...0567b1c2](https://github.com/dfinity-lab/ic-ref/compare/b631254e17be3a2e709aeaf3a4fa180d85140988...0567b1c25c33564e238a5c3f473ea311b24e5e5d) * [`c16aa3b9`](https://github.com/dfinity-lab/ic-ref/commit/c16aa3b9c403c0840f6014a082a6cdef114e67cb) Prepare spec for inclusion in antora ([dfinity-lab/ic-ref#281](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/281)) * [`ecf54a7e`](https://github.com/dfinity-lab/ic-ref/commit/ecf54a7ea497670e31e3a191617a7b69b9ee8af9) Add independent nav page ([dfinity-lab/ic-ref#282](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/282)) * [`28e2e31d`](https://github.com/dfinity-lab/ic-ref/commit/28e2e31d9791d0c19cf6e702bd0ebfc1adb39064) ic-ref-test Implement controller and module_hash in state tree ([dfinity-lab/ic-ref#283](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/283)) * [`c23cce1b`](https://github.com/dfinity-lab/ic-ref/commit/c23cce1b982eff77dd285d7ce63209edb8a96b85) Spec: Add module hash and controller to state tree ([dfinity-lab/ic-ref#276](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/276)) * [`147c64d9`](https://github.com/dfinity-lab/ic-ref/commit/147c64d94ff6350a63e58df9690e5144bfe04045) ic-ref: Cache the module hash ([dfinity-lab/ic-ref#289](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/289)) * [`061abbd9`](https://github.com/dfinity-lab/ic-ref/commit/061abbd96edfcea6e9897e3dc5afdeb5d684e197) Clarify and test availability of certification APIs ([dfinity-lab/ic-ref#286](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/286)) * [`7381b702`](https://github.com/dfinity-lab/ic-ref/commit/7381b702eaca27c21b2323c77abbf5956ef556f7) Backport ingress filtering and secp256k1` * [`a5c34a30`](https://github.com/dfinity-lab/ic-ref/commit/a5c34a30bac688af2585ce7d6a9e893e8598c718) ic-ref(-test): Implement and test canister_inspect_message ([dfinity-lab/ic-ref#287](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/287)) * [`3a9dd6a2`](https://github.com/dfinity-lab/ic-ref/commit/3a9dd6a2f9c0ed93283bd6d3ab6f027f036e3152) ic-ref: Support for secp256k1 ([dfinity-lab/ic-ref#267](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/267)) * [`1b982e2a`](https://github.com/dfinity-lab/ic-ref/commit/1b982e2af1181a18654852e549f2f018543f6806) Fix merge mistake * [`1734e081`](https://github.com/dfinity-lab/ic-ref/commit/1734e0816d61e470d2fda918e825535d3c62a05e) a couple of gas to cycle conversion at 1:1 rate ([dfinity-lab/ic-ref#284](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/284)) * [`a4b893d0`](https://github.com/dfinity-lab/ic-ref/commit/a4b893d04a38e833365b5d83e015e98ba179935c) Fix more merge mistakes * [`49b6fbd2`](https://github.com/dfinity-lab/ic-ref/commit/49b6fbd288caf361e025e6920b6a4cd87ca2bd38) Bump version in ic-ref-test * [`cbffb694`](https://github.com/dfinity-lab/ic-ref/commit/cbffb6948129e61673c5d33a49231fe8445a59b5) ic-ref: Fix handling of canisters that do not expose `canister_inspect_message` ([dfinity-lab/ic-ref#291](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/291)) * [`f20ebb52`](https://github.com/dfinity-lab/ic-ref/commit/f20ebb5282f27d4f23b485f713fd15809627c38d) Changelog: Bump date * [`f5dbc81e`](https://github.com/dfinity-lab/ic-ref/commit/f5dbc81eb217797378a5833fa40f18bea77582a7) Github action to create antora tree on separate branch * [`6abf47b1`](https://github.com/dfinity-lab/ic-ref/commit/6abf47b116b58e25aecebc6460748de5e15a6984) antora: Leave “version” at `master` * [`ef246ddc`](https://github.com/dfinity-lab/ic-ref/commit/ef246ddcaa0fe4daf9084fd668b380a71b4abcdd) Fix antora script * [`14b5ad85`](https://github.com/dfinity-lab/ic-ref/commit/14b5ad85f4191896e9aad7a965cee92ee610f62e) ic-ref(-test): Allow anyone to use `deposit_cycles` ([dfinity-lab/ic-ref#297](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/297)) * [`77f368d0`](https://github.com/dfinity-lab/ic-ref/commit/77f368d006c337eab0df1620659133c1f7e48b10) Spec: deposit_cycles(): any caller allowed ([dfinity-lab/ic-ref#296](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/296)) * [`9f7c0c3c`](https://github.com/dfinity-lab/ic-ref/commit/9f7c0c3c0a31afd12e0403235ad23b5cdad12446) Fixed typos reported to Support - ZD [dfinity-lab/ic-ref#494](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/494) ([dfinity-lab/ic-ref#293](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/293)) * [`1785e252`](https://github.com/dfinity-lab/ic-ref/commit/1785e2526af428228b7f1dde37f4d35571b40122) Ingress messages are rejected if no Wasm module is present ([dfinity-lab/ic-ref#300](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/300)) * [`d6e31a37`](https://github.com/dfinity-lab/ic-ref/commit/d6e31a375ab2d55538a241d2144a907bb3944d4f) Bump version to 0.15.6 * [`b62322b7`](https://github.com/dfinity-lab/ic-ref/commit/b62322b77a1a02899b1757d00eac0116ce1fbc49) ic-ref-test: Test empty canister’s message inspection ([dfinity-lab/ic-ref#305](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/305)) * [`0445c044`](https://github.com/dfinity-lab/ic-ref/commit/0445c04423dcdf6a40611c48c7dd314e978cd682) Public Spec: Optional memory allocation => best-effort. ([dfinity-lab/ic-ref#301](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/301)) * [`dd7dcf43`](https://github.com/dfinity-lab/ic-ref/commit/dd7dcf43737e3a8375afbaa01c903c621501b788) ic-ref(-test): Implement ingress filtering for the management canister ([dfinity-lab/ic-ref#306](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/306)) * [`d6a13d3d`](https://github.com/dfinity-lab/ic-ref/commit/d6a13d3d4db401339fd820f8de59dcd409d511a2) Spec: Management canister’s message inspection ([dfinity-lab/ic-ref#304](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/304)) * [`d82e5ecd`](https://github.com/dfinity-lab/ic-ref/commit/d82e5ecdc6676e7b8c6a28a29e42a961e7e4c0b4) Spec: limits on globals and functions ([dfinity-lab/ic-ref#303](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/303)) * [`294a7d72`](https://github.com/dfinity-lab/ic-ref/commit/294a7d72a6615339a6000586a97e43cd35c827cd) Add date to changelog * [`26ce3648`](https://github.com/dfinity-lab/ic-ref/commit/26ce36485e4c6248bd0bd6b9a739a8ac97b0d7f9) Fix formatting in stable memory API descriptions ([dfinity-lab/ic-ref#295](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/295)) * [`01511a61`](https://github.com/dfinity-lab/ic-ref/commit/01511a617a9584f96d805e82d1fe13fd26cfa141) ic-ref: Improve 404 error message * [`3bb4279c`](https://github.com/dfinity-lab/ic-ref/commit/3bb4279cc5b81d2fa5ae02c0e011c2e3c30f7100) Typo: as it -> as it ([dfinity-lab/ic-ref#307](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/307)) * [`db1e9351`](https://github.com/dfinity-lab/ic-ref/commit/db1e93518da42ab6d32fda2931bef93825fa7228) Spec: Clarify wording around principals ([dfinity-lab/ic-ref#308](http://r.duckduckgo.com/l/?uddg=https://github.com/dfinity-lab/ic-ref/issues/308)) * [`0567b1c2`](https://github.com/dfinity-lab/ic-ref/commit/0567b1c25c33564e238a5c3f473ea311b24e5e5d) ic-ref-test: Bump def_cycles to 80T
## Changelog for musl-wasi: Branch: main Commits: [WebAssembly/wasi-libc@5d8a1409...30094b6e](WebAssembly/wasi-libc@5d8a140...30094b6) * [`d8d00bcd`](WebAssembly/wasi-libc@d8d00bc) Remove support for `__original_main`. ([WebAssembly/wasi-libc#295](https://github.com/WebAssembly/wasi-libc/issues/295)) * [`30094b6e`](WebAssembly/wasi-libc@30094b6) Fix `gettimeofday` to correctly handle a null argument.
## Changelog for musl-wasi: Branch: main Commits: [WebAssembly/wasi-libc@5d8a1409...30094b6e](WebAssembly/wasi-libc@5d8a140...30094b6) * [`d8d00bcd`](WebAssembly/wasi-libc@d8d00bc) Remove support for `__original_main`. ([WebAssembly/wasi-libc#295](https://github.com/WebAssembly/wasi-libc/issues/295)) * [`30094b6e`](WebAssembly/wasi-libc@30094b6) Fix `gettimeofday` to correctly handle a null argument.
## Changelog for musl-wasi: Branch: main Commits: [WebAssembly/wasi-libc@5d8a1409...30094b6e](WebAssembly/wasi-libc@5d8a140...30094b6) * [`d8d00bcd`](WebAssembly/wasi-libc@d8d00bc) Remove support for `__original_main`. ([WebAssembly/wasi-libc#295](https://github.com/WebAssembly/wasi-libc/issues/295)) * [`30094b6e`](WebAssembly/wasi-libc@30094b6) Fix `gettimeofday` to correctly handle a null argument.
used to crash with unbound id
Foo.It can fail more elegantly if we presume term
Foohas typeT.Preand report that the type oflet Barcan't be inferred..We can only make it type-check successfully if we assume a skeletal constructor type
()->Foowhile inferring the type of sibling classes like Bar.But the solution feels like a hack...(we assume that for
class C<T1<:U1,...TN<:Un>(pat1...,patn) {...},Chas type<T1:T.Pre,...T:T.Pre>(Any,...,Any) -> C(Ts),for C abstract and Ti bounded at T.Pre. That's good enough to check application of
C.But I think this will go wrong if we just rebind
Cbecause then we'd be inferring the wrong type! Bugger.