https://github.com/apple/swift
Revision b31eca0143f9c4c85a8d3d9e658532f0d0717a7c authored by Joe Groff on 03 December 2018, 18:52:17 UTC, committed by Joe Groff on 28 February 2019, 00:54:37 UTC
To represent the abstracted interface of an opaque type, we need a generic signature that refines
the outer context generic signature with an additional generic parameter representing the underlying
type and its exposed constraints. Opaque types also need to be keyed by their originating decl, so
that we can treat values of the same opaque type as the same. When we check a FuncDecl with an
opaque type specified as its return type, create an OpaqueTypeDecl and associate it with the
originating decl. (A representation for *types* derived from the opaque decl will come next.)
1 parent 8a0154e
History
Tip revision: b31eca0143f9c4c85a8d3d9e658532f0d0717a7c authored by Joe Groff on 03 December 2018, 18:52:17 UTC
AST: Represent OpaqueTypeDecls.
Tip revision: b31eca0
File Mode Size
.github
apinotes
benchmark
bindings
cmake
docs
include
lib
stdlib
test
tools
unittests
utils
validation-test
.clang-format -rw-r--r-- 19 bytes
.dir-locals.el -rw-r--r-- 1.4 KB
.flake8 -rw-r--r-- 1.2 KB
.gitignore -rw-r--r-- 2.0 KB
.mailmap -rw-r--r-- 8.2 KB
CHANGELOG.md -rw-r--r-- 257.9 KB
CMakeLists.txt -rw-r--r-- 40.0 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.3 KB
CODE_OWNERS.TXT -rw-r--r-- 1.7 KB
CONTRIBUTING.md -rw-r--r-- 544 bytes
LICENSE.txt -rw-r--r-- 11.5 KB
README.md -rw-r--r-- 17.6 KB

README.md

back to top