mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-20 18:21:47 +03:00
75032a7164
* Emit warning for fixities with no export modifiers This is to help update all the existing code to program with explicit fixity export directives in preparation for the behavioral change where they will become private by default.
98 lines
4.7 KiB
Plaintext
98 lines
4.7 KiB
Plaintext
1/1: Building Errors (Errors.idr)
|
|
Error: Operator =@ is a type-binding (typebind) operator, but is used as an automatically-binding (autobind) operator.
|
|
|
|
Errors:8:19--8:21
|
|
4 | 0 (=@) : (a : Type) -> (a -> Type) -> Type
|
|
5 | (=@) a f = (1 x : a) -> f x
|
|
6 |
|
|
7 | data S : {ty : Type} -> (x : ty) -> Type where
|
|
8 | MkS : (x := ty) =@ S x
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using typebind syntax: '(x : ty) =@ S x'.
|
|
- Change the fixity defined at Errors:2:18--2:29 to 'private autobind infixr 0 =@'.
|
|
- Hide or remove the fixity at Errors:2:18--2:29 and import a module that exports a compatible fixity.
|
|
1/1: Building Errors2 (Errors2.idr)
|
|
Error: Operator =@ is an automatically-binding (autobind) operator, but is used as a regular operator.
|
|
|
|
Errors2:7:29--7:31
|
|
3 |
|
|
4 | 0 (=@) : (a : Type) -> (a -> Type) -> Type
|
|
5 | (=@) a f = (1 x : a) -> f x
|
|
6 |
|
|
7 | wrongId : {0 a : Type} -> a =@ a
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using autobind syntax: '(_ := a) =@ a'.
|
|
- Change the fixity defined at Errors2:2:18--2:29 to 'private infixr 0 =@'.
|
|
- Hide or remove the fixity at Errors2:2:18--2:29 and import a module that exports a compatible fixity.
|
|
1/1: Building Errors3 (Errors3.idr)
|
|
Error: Operator =@ is a type-binding (typebind) operator, but is used as a regular operator.
|
|
|
|
Errors3:7:29--7:31
|
|
3 |
|
|
4 | 0 (=@) : (a : Type) -> (a -> Type) -> Type
|
|
5 | (=@) a f = (1 x : a) -> f x
|
|
6 |
|
|
7 | wrongId : {0 a : Type} -> a =@ a
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using typebind syntax: '(_ : a) =@ a'.
|
|
- Change the fixity defined at Errors3:2:18--2:29 to 'private infixr 0 =@'.
|
|
- Hide or remove the fixity at Errors3:2:18--2:29 and import a module that exports a compatible fixity.
|
|
1/1: Building Errors4 (Errors4.idr)
|
|
Error: Operator =@ is a regular operator, but is used as a type-binding (typebind) operator.
|
|
|
|
Errors4:9:18--9:20
|
|
5 | (=@) a f = (1 x : a) -> f x
|
|
6 |
|
|
7 |
|
|
8 | data S : {ty : Type} -> (x : ty) -> Type where
|
|
9 | MkS : (x : ty) =@ S x
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using regular syntax: 'ty =@ S x'.
|
|
- Change the fixity defined at Errors4:2:9--2:20 to 'private typebind infixr 0 =@'.
|
|
- Hide or remove the fixity at Errors4:2:9--2:20 and import a module that exports a compatible fixity.
|
|
1/1: Building Errors5 (Errors5.idr)
|
|
Error: Operator =@ is a regular operator, but is used as an automatically-binding (autobind) operator.
|
|
|
|
Errors5:10:19--10:21
|
|
06 | (=@) a f = (1 x : a) -> f x
|
|
07 |
|
|
08 |
|
|
09 | data S : {ty : Type} -> (x : ty) -> Type where
|
|
10 | MkS : (x := ty) =@ S x
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using regular syntax: 'ty =@ S x'.
|
|
- Change the fixity defined at Errors5:3:9--3:20 to 'private autobind infixr 0 =@'.
|
|
- Hide or remove the fixity at Errors5:3:9--3:20 and import a module that exports a compatible fixity.
|
|
1/2: Building Lin (Lin.idr)
|
|
2/2: Building LinImport (LinImport.idr)
|
|
Error: Operator =@ is a type-binding (typebind) operator, but is used as an automatically-binding (autobind) operator.
|
|
|
|
LinImport:8:19--8:21
|
|
4 | 0 (=@) : (a : Type) -> (a -> Type) -> Type
|
|
5 | (=@) a f = (1 x : a) -> f x
|
|
6 |
|
|
7 | data S : {ty : Type} -> (x : ty) -> Type where
|
|
8 | MkS : (x := ty) =@ S x
|
|
^^
|
|
Explanation: regular, typebind and autobind operators all use a slightly different syntax, typebind looks like this: '(name : type) =@ expr', autobind looks like this: '(name := expr) =@ expr'.
|
|
|
|
Possible solutions:
|
|
- Write the expression using typebind syntax: '(x : ty) =@ S x'.
|
|
- Change the fixity defined at Lin:3:17--3:28 to 'export autobind infixr 0 =@'.
|
|
- Hide or remove the fixity at Lin:3:17--3:28 and import a module that exports a compatible fixity.
|