ceylon/ceylon-spec — Issue #137: principal instantiation of intersection types doesn't account for refinement
Author: gavinking
Created: 2012-01-20 02:26:38+00:00
State: open
Labels: bug

```
interface Qux {}

interface Foo {
shared formal T foo();
}
interface Bar satisfies Foo {
shared formal actual T&Qux foo();
}

void test(Foo&Bar x) {
value foo = x.foo();
}
```

In this code, `foo` should have type `X&Y&Qux`, but it actually gets the type `X&Y` in the current implementation.