Commit Graph

11 Commits

Author SHA1 Message Date
Saleem Abdulrasool
b67d5f0cf7 test: convert rm -rf && mkdir -p into %empty-directory
This converts the instances of the pattern for which we have a proper
substitution in lit.  This will make it easier to replace it
appropriately with Windows equivalents.
2018-03-06 14:30:54 -08:00
Slava Pestov
54d709a428 Parse: Support parsing subclass existentials involving generic classes in expression context
Generic type specialization is ambiguous with < and > operators.
Extend the disambiguation hack to also consider parsing a generic
parameter list if the > is followed by &.

This fixes parsing types such as 'Base<Int> & P' in expression
context.
2017-05-19 15:05:46 -07:00
Slava Pestov
03ebba50be Sema: Fix lvalue access of class existential payloads
Now that SILGen can correctly lower lvalue accesses of
class existential payloads, remove a hack in Sema that
was simply doing the wrong thing.

Fixes <rdar://problem/31858378>.
2017-05-15 20:14:48 -07:00
Slava Pestov
b5721e8d8e AST: Remove AnyObject protocol 2017-05-02 19:45:00 -07:00
Roman Levenstein
1731250dac [sil-open-archetypes-tracker] Add type dependent operands to more instructions
The following instructions were enhanced with type dependent operands:
- convert_function
- pointer_to_thin_function
- upcast_inst
- thin_to_thick_function

Fixes rdar://31879356
2017-04-28 09:35:06 -07:00
Slava Pestov
906567c7dd Fix typos 2017-04-27 23:53:23 -07:00
Slava Pestov
e3b68e7bdd Remove -enable-experimental-subclass-existentials staging flag 2017-04-27 20:46:37 -07:00
Slava Pestov
1bce1beadb XFAIL the subclass_existentials test in check-swift-optimize mode
There's an existing optimizer bug that is now exposed
involving function conversions. It does not appear
related to my changes.

I filed <rdar://problem/31879356> to track the issue.
2017-04-27 20:46:37 -07:00
Slava Pestov
1615915780 Runtime: Dynamic casts to subclass existentials 2017-04-27 20:46:36 -07:00
Slava Pestov
e032d916f9 Runtime: Update _swift_buildDemanglingForMetadata() for subclass existentials 2017-04-27 20:46:36 -07:00
Slava Pestov
77b760d500 Add some more tests for subclass existentials
- Test member access on metatypes
- SILGen tests for properties and subscripts
- End-to-end executable tests
2017-04-27 16:08:33 -07:00