lean4-htt/tests/lean/autoBoundImplicits2.lean.expected.out
Leonardo de Moura 9d304df757 feat: heterogeneous Append experiment
@Kha This one required a bunch of manual fixes. The main issue is that
before we added the string interpolation feature, we created
`MessageData`s using `++` and coercions. For example, given
`(e : Expr)`, we would write
```
let msg : MessageData := "type: " ++ e
```
and rely on the coercions `String -> MessageData` and
`Expr -> MessageData`, and the instance `Append MessageData`.
However, heterogeneous operators "block" the expected type propagation downwards.
This kind of code is obsolete now since we can write a more compact
version using string interpolation
```
let msg := m!"type: {e}"
```
2020-12-01 16:32:41 -08:00

12 lines
632 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

autoBoundImplicits2.lean:9:0: error: invalid auto implicit argument 'b', it depends on explicitly provided argument 'n'
g1 : ?m → ?m
autoBoundImplicits2.lean:30:17: error: unknown universe level 'u'
autoBoundImplicits2.lean:30:37: error: type expected
failed to synthesize instance
CoeSort (sorryAx (Sort _)) ?m
autoBoundImplicits2.lean:33:17: error: unknown universe level 'β'
autoBoundImplicits2.lean:33:90: error: type expected
failed to synthesize instance
CoeSort (sorryAx (Sort _)) ?m
def h1.{u} : {m : Type u → Type u} → {α : Type u} → m α → m α :=
fun {m : Type u → Type u} {α : Type u} (a : m α) => a