mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
An assertion I added recently to check property overrides in the ASTVerifier uncovered some bugs in this area: - We did not synthesize a materializeForSet for properties defined in extensions of imported classes unless they witnessed a protocol requirement. This triggered an assertion if the property had an override that was checked before the protocol conformance, since the override's materializeForSet would not be marked as an override of the base materializeForSet. - materializeForSet for properties defined in extensions would statically dispatch the getter and setter instead of dynamically dispatching. This is incorrect since we statically dispatch to the materializeForSet in this case, and we can in fact override it in a subclass. Fixes <rdar://problem/31334272>.
5.7 KiB
5.7 KiB