https://github.com/JuliaLang/julia
Revision 1b9f640c160f4f364063a6b2b2e798a93c123abd authored by Keno Fischer on 17 January 2023, 22:32:08 UTC, committed by GitHub on 17 January 2023, 22:32:08 UTC
In a lapse of memory, I had assumed that NamedTuple was covariant
like Tuple, but since this is not the case, we do actually need
to pass the types into the constructor. However, the main
constructor for NamedTuple has an extra `convert` call to the
declared tuple type. This call is problematic for effects, because
the type is unknown. For the merge/diff case, we are
guaranteed that the convert is a no-op, but the compiler's analysis
is not strong enough to prove this. Work around that by
introducing an `_NamedTuple` constructor that bypasses the
unnecessary convert to make sure that the compiler can prove
sufficiently strong effects.
1 parent ac080c5
History
Tip revision: 1b9f640c160f4f364063a6b2b2e798a93c123abd authored by Keno Fischer on 17 January 2023, 22:32:08 UTC
namedtuple: Use correct return type in merge/diff (#48290)
Tip revision: 1b9f640
File Mode Size
.devcontainer
.github
base
cli
contrib
deps
doc
etc
src
stdlib
test
.buildkite-external-version -rw-r--r-- 5 bytes
.clang-format -rw-r--r-- 3.3 KB
.codecov.yml -rw-r--r-- 52 bytes
.git-blame-ignore-revs -rw-r--r-- 294 bytes
.gitattributes -rw-r--r-- 65 bytes
.gitignore -rw-r--r-- 507 bytes
.mailmap -rw-r--r-- 12.1 KB
CITATION.bib -rw-r--r-- 513 bytes
CITATION.cff -rw-r--r-- 940 bytes
CONTRIBUTING.md -rw-r--r-- 23.1 KB
HISTORY.md -rw-r--r-- 363.4 KB
LICENSE.md -rw-r--r-- 1.3 KB
Make.inc -rw-r--r-- 51.6 KB
Makefile -rw-r--r-- 30.0 KB
NEWS.md -rw-r--r-- 1.5 KB
README.md -rw-r--r-- 7.3 KB
THIRDPARTY.md -rw-r--r-- 3.7 KB
VERSION -rw-r--r-- 11 bytes
julia.spdx.json -rw-r--r-- 35.8 KB
sysimage.mk -rw-r--r-- 4.1 KB

README.md

back to top