9c60eed93c
The problem is that unique names depend on the order compilation units are initialized. The order of initialization is not specified by the C++ standard. Then, different compilers (or even the same compiler) may produce different initialization orders, and consequently the metavariable prefix is going to be different for different builds. This is not a bug, but it makes unit tests to fail since the output produced by different builds is different for the same input file. Avoiding unique name feature in the default metavariable prefix avoids this problem. Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
47 lines
2.3 KiB
Text
47 lines
2.3 KiB
Text
Set: pp::colors
|
||
Set: pp::unicode
|
||
let b := ⊤, a : ℤ := b in a
|
||
Assumed: vector
|
||
Assumed: const
|
||
let a := 10, v1 := const a ⊤, v2 := v1 in v2 : vector Bool 10
|
||
let a := 10, v1 : vector Bool a := const a ⊤, v2 : vector Bool a := v1 in v2
|
||
let a := 10, v1 : vector Bool a := const a ⊤, v2 : vector Bool a := v1 in v2 : vector Bool 10
|
||
Failed to solve
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ Bool ≈ ℤ
|
||
Substitution
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ ?M::0[lift:0:1] ≈ ℤ
|
||
Destruct/Decompose
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ vector (?M::0[lift:0:1]) a ≺ vector ℤ a
|
||
(line: 31: pos: 26) Type of definition 'v2' must be convertible to expected type.
|
||
Assignment
|
||
a : ℕ := 10 ⊢ ?M::0 ≈ Bool
|
||
Destruct/Decompose
|
||
a : ℕ := 10 ⊢ vector ?M::0 a ≺ vector Bool a
|
||
(line: 30: pos: 26) Type of definition 'v1' must be convertible to expected type.
|
||
Assumed: foo
|
||
Coercion foo
|
||
Failed to solve
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ Bool ≈ ℤ
|
||
Substitution
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ ?M::0[lift:0:1] ≈ ℤ
|
||
Destruct/Decompose
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ vector (?M::0[lift:0:1]) a ≺ vector ℤ a
|
||
(line: 40: pos: 26) Type of definition 'v2' must be convertible to expected type.
|
||
Assignment
|
||
a : ℕ := 10 ⊢ ?M::0 ≈ Bool
|
||
Destruct/Decompose
|
||
a : ℕ := 10 ⊢ vector ?M::0 a ≺ vector Bool a
|
||
(line: 39: pos: 26) Type of definition 'v1' must be convertible to expected type.
|
||
Set: lean::pp::coercion
|
||
Failed to solve
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ Bool ≈ ℤ
|
||
Substitution
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ ?M::0[lift:0:1] ≈ ℤ
|
||
Destruct/Decompose
|
||
a : ℕ := 10, v1 : vector ?M::0 a := const a ⊤ ⊢ vector (?M::0[lift:0:1]) a ≺ vector ℤ a
|
||
(line: 48: pos: 26) Type of definition 'v2' must be convertible to expected type.
|
||
Assignment
|
||
a : ℕ := 10 ⊢ ?M::0 ≈ Bool
|
||
Destruct/Decompose
|
||
a : ℕ := 10 ⊢ vector ?M::0 a ≺ vector Bool a
|
||
(line: 47: pos: 26) Type of definition 'v1' must be convertible to expected type.
|