Skip to content

Add match type #4964

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 49 commits into from
Sep 20, 2018
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
9ef3898
Add MatchType as a type form
odersky Aug 20, 2018
1c17274
Represent literals used as types with SingletonTypeTrees
odersky Aug 20, 2018
24a2f73
Syntax, parsing, and type-checking of match types
odersky Aug 20, 2018
6d472f5
Fix unpickling of match types
odersky Aug 20, 2018
0877a36
Blacklist match type fromtasty test
odersky Aug 20, 2018
bd8b3cd
Classify type defs with matches as RHS as abstract
odersky Aug 22, 2018
993c40c
Implement subtyping for match types
odersky Aug 22, 2018
151a37c
Cache match reduce results
odersky Aug 22, 2018
ffac30e
Cache results of attempts to reduce match types
odersky Aug 23, 2018
e2d8bc3
Use a special type for match aliases
odersky Aug 24, 2018
b261ff7
Applications of erased functions are always pure
odersky Aug 24, 2018
a144c35
Allow user-defined error diagnostics when rewriting
odersky Aug 24, 2018
5147d32
Fix two issues when comparing match types
odersky Aug 24, 2018
fb5c554
MatchType reorg
odersky Aug 27, 2018
400495f
Typelevel natural numbers
odersky Aug 27, 2018
3d3d595
Reduce matches on creation
odersky Aug 27, 2018
38312e0
Handle MatchTypeTrees in ExtractAPI
odersky Aug 29, 2018
a9f9ced
Refine matchtype reduction caching
odersky Aug 29, 2018
2408b54
Coarser variance checking for match types
odersky Aug 29, 2018
7a51259
Add constValue function
odersky Aug 29, 2018
dc669a6
Add NonEmptyTuple abstract class
odersky Aug 29, 2018
d924ef1
More precise derivesFrom for MatchTypes
odersky Aug 29, 2018
0d4a118
Base Tuple computations on types
odersky Aug 29, 2018
189973b
Make MatchTypes value types
odersky Aug 29, 2018
8307685
Fix inlining of parameters of singleton type
odersky Aug 29, 2018
8219a83
Test tuples2 needs to run with -Yno-deep-subtypes
odersky Aug 29, 2018
56759c8
Add constValueOpt method
odersky Aug 29, 2018
45fbf3e
Fix unpickling of match type aliases
odersky Aug 29, 2018
e41bf9a
Survive bottom values in pattern matches
odersky Aug 29, 2018
2d83885
Report rewrite errors at outermost rewrite call
odersky Aug 29, 2018
b53bf1e
Harden Tuple operations against wrong inputs
odersky Aug 29, 2018
71fbc15
Reduce sizes of tuples of tuples2.scala
odersky Aug 29, 2018
2d76382
Allow additional arguments for typelevel.error
odersky Sep 6, 2018
10f2acb
GenericSignatures needs to consult erasedToObject
odersky Sep 6, 2018
03f5c4e
Properly erase NonEmptyTuple
odersky Sep 6, 2018
3657799
Make Tuple types covariant
odersky Sep 6, 2018
d53b3fa
Allow generic tuple operations to be dynamic
odersky Sep 6, 2018
a7ea105
Equate TupleN(...) and *: types
odersky Sep 6, 2018
9897d22
Description and informal spec for match types
odersky Sep 8, 2018
7a0c31f
Fix typo
odersky Sep 8, 2018
0ca095f
Add related work section to match-types.md
odersky Sep 10, 2018
194d85d
Fix matchtype termination
odersky Sep 10, 2018
c7ee07c
Fix `Elem` method for sizes > 23
odersky Sep 12, 2018
00de2f8
Print max constraint under -Ydetailed-stats
odersky Sep 12, 2018
c51a2c0
Normalize when simplifying
odersky Sep 12, 2018
16d1856
Propagate bound into nested match types
odersky Sep 12, 2018
536c350
Match cases in parallel
odersky Sep 12, 2018
5a8ac63
Update rules on match term/type checking
odersky Sep 13, 2018
7b548db
Go back to reducing match types sequentially
odersky Sep 13, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix unpickling of match types
  • Loading branch information
odersky committed Sep 6, 2018
commit 6d472f5915f395bea7a08211997391bee04b84d5
3 changes: 2 additions & 1 deletion compiler/src/dotty/tools/dotc/core/tasty/TastyFormat.scala
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,8 @@ object TastyFormat {
| ANDtpt
| ORtpt
| BYNAMEtpt
| BIND => true
| BIND
| MATCH => true
case _ => false
}

Expand Down