-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
A-miriArea: The miri toolArea: The miri toolC-bugCategory: This is a bug.Category: This is a bug.O-netbsdOperating system: NetBSDOperating system: NetBSDO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)
Description
I have already successfully built rust 1.44.0 on NetBSD/amd64 8.0.
Next I'm tackling NetBSD/i386 8.0, but that is not going as expected, the build
errors out after hours of apparent successful building with
Compiling miri v0.1.0 (/usr/pkgsrc/lang/rust/work/rustc-1.44.0-src/src/tools/miri)
error[E0478]: lifetime bound not satisfied
--> src/tools/miri/src/diagnostics.rs:182:18
|
182 | impl<'mir, 'tcx> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tcx> {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: lifetime parameter instantiated with the lifetime `'tcx` as defined on the impl at 182:12
--> src/tools/miri/src/diagnostics.rs:182:12
|
182 | impl<'mir, 'tcx> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tcx> {}
| ^^^^
note: but lifetime parameter must outlive the lifetime `'mir` as defined on the impl at 182:6
--> src/tools/miri/src/diagnostics.rs:182:6
|
182 | impl<'mir, 'tcx> EvalContextExt<'mir, 'tcx> for crate::MiriEvalContext<'mir, 'tcx> {}
| ^^^^
and several more instances of a similar error, and
error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'tcx` due to conflicting requirements
--> src/tools/miri/src/helpers.rs:267:35
|
267 | impl<'ecx, 'mir, 'tcx, F> ValueVisitor<'mir, 'tcx, Evaluator<'tcx>>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: first, the lifetime cannot outlive the lifetime `'tcx` as defined on the impl at 267:26...
--> src/tools/miri/src/helpers.rs:267:26
|
267 | impl<'ecx, 'mir, 'tcx, F> ValueVisitor<'mir, 'tcx, Evaluator<'tcx>>
| ^^^^
note: ...so that the types are compatible
--> src/tools/miri/src/helpers.rs:267:35
|
267 | impl<'ecx, 'mir, 'tcx, F> ValueVisitor<'mir, 'tcx, Evaluator<'tcx>>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: expected `rustc_mir::interpret::ValueVisitor<'mir, 'tcx, machine::Evaluator<'tcx>>`
found `rustc_mir::interpret::ValueVisitor<'_, '_, machine::Evaluator<'_>>`
note: but, the lifetime must be valid for the lifetime `'mir` as defined on the impl at 267:20...
--> src/tools/miri/src/helpers.rs:267:20
|
267 | impl<'ecx, 'mir, 'tcx, F> ValueVisitor<'mir, 'tcx, Evaluator<'tcx>>
| ^^^^
note: ...so that the types are compatible
--> src/tools/miri/src/helpers.rs:272:22
|
272 | type V = MPlaceTy<'tcx, Tag>;
| ^^^^^^^^^^^^^^^^^^^
= note: expected `rustc_mir::interpret::visitor::Value<'mir, 'tcx, machine::Evaluator<'tcx>>`
found `rustc_mir::interpret::visitor::Value<'_, '_, machine::Evaluator<'tcx>>`
I'm confused. Why would the amd64 build succeed and the i386 build fail when
building the same sources, with what appears to be a rust language issue??
I expected the build on NetBSD/i386 8.0 to succeed.
Instead, this happened: (see above).
The bootstrap compiler is rust 1.43.1.
Meta
rustc --version --verbose
:
rustc 1.43.1
binary: rustc
commit-hash: unknown
commit-date: unknown
host: i686-unknown-netbsd
release: 1.43.1
LLVM version: 9.0
Metadata
Metadata
Assignees
Labels
A-miriArea: The miri toolArea: The miri toolC-bugCategory: This is a bug.Category: This is a bug.O-netbsdOperating system: NetBSDOperating system: NetBSDO-x86_32Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)Target: x86 processors, 32 bit (like i686-*) (also known as IA-32, i386, i586, i686)