mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-21 02:31:50 +03:00
7aee7c9b7c
Why: * To implement robust cross-project go-to-definition in LSP i.e you can jump to definition of any global name coming from library dependencies, as well as from the local project files. What it does: * Modify `FC`s to carry `ModuleIdent` for .idr sources, file name for .ipkg sources or nothing for interactive runs. * Add `--install-with-src` to install the source code alongside the ttc binaries. The source is installed into the same directory as the corresponding ttc file. Installed sources are made read-only. * As we install the sources pinned to the related ttc files we gain the versioning of sources for free.
24 lines
723 B
Plaintext
24 lines
723 B
Plaintext
1/1: Building Erase (Erase.idr)
|
|
Error: While processing left hand side of bad. Can't match on False (Erased argument).
|
|
|
|
Erase:5:5--5:10
|
|
1 | myReplace : forall p . (0 rule : x = y) -> (1 val : p y) -> p x
|
|
2 | myReplace Refl prf = prf
|
|
3 |
|
|
4 | bad : (0 x : Bool) -> Bool
|
|
5 | bad False = True
|
|
^^^^^
|
|
|
|
Error: While processing left hand side of minusBad. Can't match on LeZ (Erased argument).
|
|
|
|
Erase:19:18--19:21
|
|
15 | minus (S k) (S j) (LeS p) = minus k j p
|
|
16 |
|
|
17 | -- y is used in the run time case tree, so erasure not okay
|
|
18 | minusBad : (x : Nat) -> (0 y : Nat) -> (0 prf : LT y x) -> Nat
|
|
19 | minusBad (S k) Z LeZ = S k
|
|
^^^
|
|
|
|
Main> \m => minus (S (S m)) m prf
|
|
Main> Bye for now!
|