Skip to content
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

[Proposal] Typeclass Traits #4153

Closed
wants to merge 54 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
fb7084c
Add opaque types: parsing & pickling
odersky Feb 21, 2018
b3193a5
Store opaque info in annotation
odersky Feb 21, 2018
e583338
Keep track of opaque companion links
odersky Feb 21, 2018
3e53f63
Maintain companion aliases as GADT bounds
odersky Feb 21, 2018
d0eec14
Test cases
odersky Feb 21, 2018
8b2117b
Allow for higher-kinded opaque types
odersky Feb 21, 2018
e0da82b
Handle higher-kinded comparisons involving GADTs
odersky Feb 21, 2018
2247529
Change companion detection scheme
odersky Feb 22, 2018
c70bcb0
Eliminate boxing for opaque types
odersky Feb 22, 2018
af5c199
Make OpaqueAlias and LinkedType special classes
odersky Feb 22, 2018
f2cf353
Make implicit scope include companion objects of opaque types
odersky Feb 22, 2018
71ae943
Add reference documentation
odersky Feb 22, 2018
89dd537
Fix test
odersky Feb 22, 2018
893eebb
Fix indentation
odersky Feb 22, 2018
77317b0
Treat companions of opaque types specially
odersky Feb 23, 2018
4006366
Replace annotation extractor with access methods
odersky Feb 23, 2018
fa099ed
Simplify companion scheme
odersky Feb 24, 2018
55cd70f
add test
odersky Feb 24, 2018
6161baf
Follow GADT bounds when computing members
odersky Mar 9, 2018
6fee4bb
Consider GADT bounds for findMember and underlying
odersky Mar 12, 2018
ea65c25
Extend opaque companion context to inlined code
odersky Mar 12, 2018
e50e669
Remove stray println
odersky Mar 14, 2018
e3e58eb
Disable failing FromTasty tests
odersky Mar 14, 2018
252f04a
Fix ctx of opaque type companion
nicolasstucki Mar 15, 2018
c8ff1d6
Fix ctx and call of inlined opaque extension methods
nicolasstucki Mar 15, 2018
cf740ba
Fix rebase breakage
odersky Mar 31, 2018
b158666
Fix modifier printing
odersky Mar 31, 2018
22a7167
Schema for named extensions
odersky Mar 14, 2018
3effb96
Parser for fixed syntax
odersky Mar 14, 2018
a8d48e9
Desugarings for extensions
odersky Mar 14, 2018
2084371
Avoid `extension` as an identifier.
odersky Mar 14, 2018
68ab0bb
Pretty printing, fixes, and tests
odersky Mar 15, 2018
e318da7
Adapt RefinedPrinter to new scheme for modText
odersky Mar 31, 2018
9c773c6
Pretty printing, fixes, and tests
odersky Mar 15, 2018
a7b4719
[Proposal] Common Declarations
odersky Mar 21, 2018
9a220cf
Fix typos
odersky Mar 21, 2018
61b179b
Small changes to test
odersky Mar 22, 2018
5ce44c6
Uniform extensions
odersky Mar 25, 2018
c1c74a3
Also add cases where extended traits are used as direct parameters
odersky Mar 26, 2018
153554b
Treat common traits and type classes alike
odersky Mar 27, 2018
556add7
More examples for typeclass encodings
odersky Mar 28, 2018
e4beb48
Allow extension re-use through automatically inserted forwarders
odersky Mar 29, 2018
2e754c3
Explain possible typeclass trait extension
odersky Mar 31, 2018
a0542fe
Fix rebase breakage
odersky Mar 31, 2018
46c7809
Polishings
odersky Mar 31, 2018
0453e05
Small fixes to docs
odersky Apr 1, 2018
434a689
Fix test
odersky Apr 2, 2018
6e18885
Flesh out documentation
odersky Apr 2, 2018
26ce98a
Fix more typos
odersky Apr 2, 2018
4b1ba83
Merge vendethiel/patch-1
odersky Apr 3, 2018
0cfc375
Name-mangle both injector parameters
odersky Apr 4, 2018
07256c2
Disentangle common and typeclass
odersky Apr 5, 2018
97f7590
Make the encoding of `common` more regular.
odersky Apr 5, 2018
37f8424
Rename `common` from a trait companion to `at`.
odersky Apr 5, 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
1 change: 1 addition & 0 deletions compiler/test/dotty/tools/dotc/CompilationTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ class CompilationTests extends ParallelTesting {
compileFile("tests/pos-special/i3589-b.scala", defaultOptions.and("-Xfatal-warnings")) +
compileFile("tests/pos-special/i4166.scala", defaultOptions.and("-Xfatal-warnings")) +
compileFile("tests/pos-special/i4185.scala", defaultOptions.and("-Xfatal-warnings")) +
compileFile("tests/pos-special/typeclass-encoding3.scala", defaultOptions.and("-Ykind-polymorphism")) +
compileFile("tests/pos-special/completeFromSource/Test.scala", defaultOptions.and("-sourcepath", "tests/pos-special")) +
compileFile("tests/pos-special/completeFromSource/Test2.scala", defaultOptions.and("-sourcepath", "tests/pos-special")) +
compileFile("tests/pos-special/completeFromSource/Test3.scala", defaultOptions.and("-sourcepath", "tests/pos-special", "-scansource")) +
Expand Down
Loading