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
1841
1841
UnresolvedMemberExpr (SourceLoc dotLoc, DeclNameLoc nameLoc, DeclNameRef name,
1842
1842
bool implicit)
1843
1843
: 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
+ }
1845
1859
1846
1860
DeclNameRef getName () const { return Name; }
1847
1861
DeclNameLoc getNameLoc () const { return NameLoc; }
You can’t perform that action at this time.
0 commit comments