E3001
E3001 — Type mismatch in variable declaration
What the compiler reports
E3001{{.*}}'v' is declared Verified<Tensor<f32, [16, 32]>> but its initializer is Tensor<f32, [16, 32]>
The fragments the test suite holds the compiler to. An ellipsis marks text the test does not constrain; the emitted message also carries a source location.
A program that triggers it
fn main() -> i32 {
let t : Tensor<f32, [ 16, 32 ]> = Tensor<f32, [16, 32]>::uninit();
// EXPECT: 'v' is declared Verified<Tensor<f32, [16, 32]>> but its initializer is Tensor<f32, [16, 32]>
let v : Verified<Tensor<f32, [ 16, 32 ]>> = t;
return 0;
}
From tests/frontend/fail/formal_verification_coercion_fail.vx, which asserts this diagnostic on every commit.