Initial support for where expressions. (#1310)

Build constraint types from `where` expressions. This is very bare-bones; there's no support for constraining `.Self` or associated types yet, but degenerate cases not involving self-reference work.

`==` constraints are syntactically supported but not semantically verified yet, and they aren't used for anything.
This commit is contained in:
Richard Smith
2022-06-09 10:31:04 -07:00
committed by GitHub
parent 36b9d997b7
commit 9007b3952d
20 changed files with 677 additions and 78 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ class AstNode {
// Print the AST rooted at the node.
virtual void Print(llvm::raw_ostream& out) const = 0;
// Print identifying information about the node, such as it's name.
// Print identifying information about the node, such as its name.
virtual void PrintID(llvm::raw_ostream& out) const = 0;
LLVM_DUMP_METHOD void Dump() const { Print(llvm::errs()); }