Page MenuHomeFreeBSD

lang/rust: Update to 1.49.0
ClosedPublic

Authored by mikael on Jan 3 2021, 11:36 AM.

Details

Test Plan
archlang/rustconsumers
11.4 i386okok
11.4 amd64okok
12.2 i386okok
12.2 amd64okok
13 i386okok
13 amd64okok
powerpc64 elfv2okok
powerpc64 elfv1okok

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

I only tested lang/spidermonkey78 on elfv1 since this nowadays seems the most sophisticated port available for elfv1.

www/firefox builds on powerpc64 elfv2.

This revision was not accepted when it landed; it landed in state Needs Review.Jan 6 2021, 10:14 AM
Closed by commit rP560492: lang/rust: Update to 1.49.0 (authored by mikael). · Explain Why
This revision was automatically updated to reflect the committed changes.

I did NOT test this on all powerpc* platforms where Rust works. And as it turns out, it doesn't build on powerpc64le:

error[E0432]: unresolved import `crate::spec::TargetResult`
 --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:1:56
  |
1 | use crate::spec::{LinkerFlavor, Target, TargetOptions, TargetResult};
  |                                                        ^^^^^^^^^^^^ no `TargetResult` in `spec`

error[E0560]: struct `Target` has no field named `target_endian`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:11:9
   |
11 |         target_endian: "little".to_string(),
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_pointer_width`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:12:9
   |
12 |         target_pointer_width: "64".to_string(),
   |         ^^^^^^^^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_c_int_width`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:13:9
   |
13 |         target_c_int_width: "32".to_string(),
   |         ^^^^^^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_os`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:16:9
   |
16 |         target_os: "freebsd".to_string(),
   |         ^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_env`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:17:9
   |
17 |         target_env: String::new(),
   |         ^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `target_vendor`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:18:9
   |
18 |         target_vendor: "unknown".to_string(),
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `Target` has no field named `linker_flavor`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:19:9
   |
19 |         linker_flavor: LinkerFlavor::Gcc,
   |         ^^^^^^^^^^^^^ `Target` does not have this field
   |
   = note: available fields are: `llvm_target`, `pointer_width`, `arch`, `data_layout`, `options`

error[E0560]: struct `TargetOptions` has no field named `target_mcount`
  --> compiler/rustc_target/src/spec/powerpc64le_unknown_freebsd.rs:20:34
   |
20 |         options: TargetOptions { target_mcount: "_mcount".to_string(), ..base },
   |                                  ^^^^^^^^^^^^^ `TargetOptions` does not have this field
   |
   = note: available fields are: `is_builtin`, `endian`, `c_int_width`, `os`, `env` ... and 87 others

error: aborting due to 9 previous errors

Some errors have detailed explanations: E0432, E0560.
For more information about an error, try `rustc --explain E0432`.

In the future, could you NOT commit the untested or only partially tested patches?