File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed
Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -1841,7 +1841,21 @@ class UnresolvedMemberExpr final
18411841 UnresolvedMemberExpr (SourceLoc dotLoc, DeclNameLoc nameLoc, DeclNameRef name,
18421842 bool implicit)
18431843 : Expr(ExprKind::UnresolvedMember, implicit), DotLoc(dotLoc),
1844- NameLoc (nameLoc), Name(name) {}
1844+ NameLoc (nameLoc), Name(name) {
1845+ // FIXME: Really, we should be setting this to `FunctionRefKind::Compound`
1846+ // if `NameLoc` is compound, but this would be a source break for cases like
1847+ // ```
1848+ // struct S {
1849+ // static func makeS(_: Int) -> S! { S() }
1850+ // }
1851+ //
1852+ // let s: S = .makeS(_:)(0)
1853+ // ```
1854+ // Instead, we should store compound-ness as a separate bit from applied/
1855+ // unapplied.
1856+ Bits.UnresolvedMemberExpr .FunctionRefKind =
1857+ static_cast <unsigned >(FunctionRefKind::Unapplied);
1858+ }
18451859
18461860 DeclNameRef getName () const { return Name; }
18471861 DeclNameLoc getNameLoc () const { return NameLoc; }
You can’t perform that action at this time.
0 commit comments