Matthew Lutze
Matthew Lutze
> Add a redundancy check for empty effects, e.g. def woof(f: Unit -> Unit \ { ef - ef }): Unit = f(). (I think this should just be on...
This is an artifact of the way we disable effect unification. If you turn on `--Xeffects` then the problem disappears. Should be fixed by #4445
> Redocument `BoolFormula` so it is agnostic about formula vs set expression. What terminology should I use? - Latticelike (`join`, `meet`) or (`lub`, `glb`) - Nontechnical (`both`, `either`) - Something...
* Namespaces for instances and type classes
But those are for structural types. You can't point to a field and say "this is where it is declared"
This becomes a little scary as the EnumSym + Name.Tag pattern goes all the way to the backend.
> What's opaque supposed to do? Disallow pattern matching? Yes, and construction. Users are forced to interact with values of the type via the provided functions.
This is still relevant, though blocked until the opaqueness change is made (Opaque types only destructable in their companion namespace)
The first example now compiles and runs.
I believe that when applying annotations, key-value pair and ordered parameters are the only ones. We should also keep in mind that arrays can also be instantiated here: ```java @Friend(connections...