Explanation: Now that we have rdar://123403268, we can change the default implementation of MacroExpansionContext.lexicalContext to return an empty array and be deprecated, making not implementing lexicalContext a compile-time warning instead of a runtime error.
Scope: Very narrow, only types conforming to MacroExpansionContext, which clients of the library generally shouldn’t be doing
Risk: Low, the scope is very narrow and shouldn’t affect anyone in practice. This is just clean-up
Testing: Manually tested that the deprecation message shows up if a user conforms a type to MacroExpansionContext without adding a lexicalContext member
MacroExpansionContext.lexicalContext
to return an empty array and be deprecated, making not implementinglexicalContext
a compile-time warning instead of a runtime error.MacroExpansionContext
, which clients of the library generally shouldn’t be doingMacroExpansionContext
without adding alexicalContext
member