Skip to content

Commit

Permalink
Merge #3318
Browse files Browse the repository at this point in the history
3318: Bump the MSRV to 1.63  r=ptitSeb a=Michael-F-Bryan

We upgraded our dependencies as part of #3254 (9b13fae), which pulled in version `1.2.0` of the `derive_arbitrary` crate. This requires Rust `1.63` to compile, but our current minimum supported Rust version is `1.61`. 

This PR bumps our MSRV to match that of `derive_arbitrary`.

# Review

- [ ] Add a short description of the change to the CHANGELOG.md file


Co-authored-by: Michael-F-Bryan <[email protected]>
  • Loading branch information
bors[bot] and Michael-F-Bryan authored Nov 17, 2022
2 parents bca8998 + 3a092cf commit 06d20f7
Show file tree
Hide file tree
Showing 23 changed files with 70 additions and 68 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/benchmark.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
- name: Configure cargo data directory
# After this point, all cargo registry and crate data is stored in
# $GITHUB_WORKSPACE/.cargo_home. This allows us to cache only the files
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
target: ${{ matrix.target }}
- uses: Swatinem/rust-cache@v1
if: matrix.use_sccache != true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cloudcompiler.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
target: ${{ matrix.target }}
- name: Install wasm32-wasi target
shell: bash
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
- name: Install LLVM (Linux)
run: |
curl --proto '=https' --tlsv1.2 -sSf https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz -L -o llvm.tar.xz
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
- name: Install LLVM
shell: bash
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
components: rustfmt, clippy
- name: Install LLVM (Linux)
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-js.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63

- name: Install NodeJS
uses: actions/setup-node@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-sys.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: 1.61
toolchain: 1.63
target: ${{ matrix.target }}
- uses: Swatinem/rust-cache@v1
if: matrix.use_sccache != true
Expand Down
24 changes: 13 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C

## Changed

- [#3318](https://github.com/wasmerio/wasmer/pull/3318) Bump the Minimum Supported Rust Version (MSRV) to 1.63

## Fixed

## 3.0.0-rc.2 - 2022/11/02
Expand Down Expand Up @@ -112,8 +114,8 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C
- [#3035](https://github.com/wasmerio/wasmer/pull/3035) Added a simple "divide by zero" wast test, for #1899, as the trap information are correctly tracked on singlepass now
- [#3021](https://github.com/wasmerio/wasmer/pull/3021) Add back missing Aarch64 relocations (needed for llvm compiler)
- [#3008](https://github.com/wasmerio/wasmer/pull/3008) Add a new cargo public-api CI check
- [#2941](https://github.com/wasmerio/wasmer/pull/2941) Implementation of WASIX and a fully networking for Web Assembly
- [#2952](https://github.com/wasmerio/wasmer/pull/2952) CI: add make build-wasmer-wasm test
- [#2941](https://github.com/wasmerio/wasmer/pull/2941) Implementation of WASIX and a fully networking for Web Assembly
- [#2952](https://github.com/wasmerio/wasmer/pull/2952) CI: add make build-wasmer-wasm test
- [#2982](https://github.com/wasmerio/wasmer/pull/2982) Add a rustfmt.toml file to the repository

### Changed
Expand All @@ -133,13 +135,13 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C
- [#2946](https://github.com/wasmerio/wasmer/pull/2946) Remove dylib,staticlib engines in favor of a single Universal engine
- [#2949](https://github.com/wasmerio/wasmer/pull/2949) Switch back to using custom LLVM builds on CI
- [#2892](https://github.com/wasmerio/wasmer/pull/2892) Renamed `get_native_function` to `get_typed_function`, marked former as deprecated.
- [#2976](https://github.com/wasmerio/wasmer/pull/2976) Upgrade enumset minimum version to one that compiles
- [#2974](https://github.com/wasmerio/wasmer/pull/2974) Context api tests
- [#2973](https://github.com/wasmerio/wasmer/pull/2973) Port C API to new Context API
- [#2969](https://github.com/wasmerio/wasmer/pull/2969) Port JS API to new Context API
- [#2966](https://github.com/wasmerio/wasmer/pull/2966) Singlepass nopanic #2966
- [#2957](https://github.com/wasmerio/wasmer/pull/2957) Enable multi-value handling in Singlepass compiler
- [#2954](https://github.com/wasmerio/wasmer/pull/2954) Some fixes to x86_64 Singlepass compiler, when using atomics
- [#2976](https://github.com/wasmerio/wasmer/pull/2976) Upgrade enumset minimum version to one that compiles
- [#2974](https://github.com/wasmerio/wasmer/pull/2974) Context api tests
- [#2973](https://github.com/wasmerio/wasmer/pull/2973) Port C API to new Context API
- [#2969](https://github.com/wasmerio/wasmer/pull/2969) Port JS API to new Context API
- [#2966](https://github.com/wasmerio/wasmer/pull/2966) Singlepass nopanic #2966
- [#2957](https://github.com/wasmerio/wasmer/pull/2957) Enable multi-value handling in Singlepass compiler
- [#2954](https://github.com/wasmerio/wasmer/pull/2954) Some fixes to x86_64 Singlepass compiler, when using atomics
- [#2953](https://github.com/wasmerio/wasmer/pull/2953) Makefile: add check target
- [#2950](https://github.com/wasmerio/wasmer/pull/2950) compiler-cranelift: Fix typo in enum variant
- [#2947](https://github.com/wasmerio/wasmer/pull/2947) Converted the WASI js test into a generic stdio test that works for both sys and js versions of wasmer
Expand All @@ -159,9 +161,9 @@ Looking for changes that affect our C API? See the [C API Changelog](lib/c-api/C
- [#2943](https://github.com/wasmerio/wasmer/pull/2943) Fix build error on some archs by using c_char instead of i8
- [#2976](https://github.com/wasmerio/wasmer/pull/2976) Upgrade minimum enumset to one that compiles
- [#2988](https://github.com/wasmerio/wasmer/pull/2988) Have make targets install-capi-lib,install-pkgconfig work without building the wasmer binary
- [#2967](https://github.com/wasmerio/wasmer/pull/2967) Fix singlepass on arm64 that was trying to emit a sub opcode with a constant as destination (for #2959)
- [#2967](https://github.com/wasmerio/wasmer/pull/2967) Fix singlepass on arm64 that was trying to emit a sub opcode with a constant as destination (for #2959)
- [#2948](https://github.com/wasmerio/wasmer/pull/2948) Fix regression on gen_import_call_trampoline_arm64()
- [#2944](https://github.com/wasmerio/wasmer/pull/2944) Fix duplicate entries in the CHANGELOG
- [#2944](https://github.com/wasmerio/wasmer/pull/2944) Fix duplicate entries in the CHANGELOG

## 2.3.0 - 2022/06/06

Expand Down
15 changes: 11 additions & 4 deletions lib/cli/src/commands/create_exe.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ use serde::{Deserialize, Serialize};
#[cfg(feature = "http")]
use std::collections::BTreeMap;
use std::env;
use std::fmt::Write as _;
use std::fs;
use std::fs::File;
use std::io::prelude::*;
Expand Down Expand Up @@ -912,7 +913,8 @@ impl CreateExe {
for atom_name in atom_names.iter() {
let atom_name = Self::normalize_atom_name(atom_name);

c_code_to_instantiate.push_str(&format!(
write!(
c_code_to_instantiate,
"
wasm_module_t *atom_{atom_name} = wasmer_object_module_new(store, \"{atom_name}\");
Expand All @@ -923,11 +925,16 @@ impl CreateExe {
return -1;
}}
"
));
deallocate_module.push_str(&format!("wasm_module_delete(atom_{atom_name});"));
)
.unwrap();
write!(deallocate_module, "wasm_module_delete(atom_{atom_name});").unwrap();
}

c_code_to_instantiate.push_str(&format!("wasm_module_t *module = atom_{atom_to_run};"));
write!(
c_code_to_instantiate,
"wasm_module_t *module = atom_{atom_to_run};"
)
.unwrap();

WASMER_STATIC_MAIN_C_SOURCE
.replace("#define WASI", "#define WASI\r\n#define WASI_PIRITA")
Expand Down
2 changes: 1 addition & 1 deletion lib/cli/src/commands/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ impl List {
if empty_table {
table.add_empty_row();
}
let _ = table.printstd();
table.printstd();

Ok(())
}
Expand Down
4 changes: 2 additions & 2 deletions lib/compiler-cranelift/src/translator/func_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ impl ControlStackFrame {
/// Pop values from the value stack so that it is left at the
/// input-parameters to an else-block.
pub fn truncate_value_stack_to_else_params(&self, stack: &mut Vec<Value>) {
debug_assert!(matches!(self, &ControlStackFrame::If { .. }));
debug_assert!(matches!(self, &Self::If { .. }));
stack.truncate(self.original_stack_size());
}

Expand All @@ -202,7 +202,7 @@ impl ControlStackFrame {
// block can see the same number of parameters as the consequent block. As a matter of
// fact, we need to substract an extra number of parameter values for if blocks.
let num_duplicated_params = match self {
&ControlStackFrame::If {
&Self::If {
num_param_values, ..
} => {
debug_assert!(num_param_values <= self.original_stack_size());
Expand Down
14 changes: 7 additions & 7 deletions lib/registry/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pub static GLOBAL_CONFIG_FILE_NAME: &str = if cfg!(target_os = "wasi") {
"wapm.toml"
};

#[derive(Deserialize, Default, Serialize, Debug, PartialEq)]
#[derive(Deserialize, Default, Serialize, Debug, PartialEq, Eq)]
pub struct PartialWapmConfig {
/// The number of seconds to wait before checking the registry for a new
/// version of the package.
Expand Down Expand Up @@ -41,12 +41,12 @@ pub const fn wax_default_cooldown() -> i32 {
5 * 60
}

#[derive(Deserialize, Serialize, Debug, PartialEq, Default)]
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Default)]
pub struct Proxy {
pub url: Option<String>,
}

#[derive(Deserialize, Serialize, Debug, PartialEq, Default)]
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Default)]
pub struct UpdateNotifications {
pub enabled: String,
}
Expand All @@ -57,14 +57,14 @@ pub struct Telemetry {
pub enabled: String,
}

#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
#[serde(untagged)]
pub enum Registries {
Single(Registry),
Multi(MultiRegistry),
}

#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
pub struct MultiRegistry {
/// Currently active registry
pub current: String,
Expand All @@ -82,7 +82,7 @@ impl Default for Registries {
}
}

#[derive(Deserialize, Serialize, Debug, PartialEq, Clone)]
#[derive(Deserialize, Serialize, Debug, PartialEq, Eq, Clone)]
pub struct Registry {
pub url: String,
pub token: Option<String>,
Expand Down Expand Up @@ -278,7 +278,7 @@ impl PartialWapmConfig {
pub fn get_folder(test_name: &str) -> Result<PathBuf, String> {
let test_dir = std::env::temp_dir().join("test_wasmer").join(test_name);
let _ = std::fs::create_dir_all(&test_dir);
Ok(test_dir.to_path_buf())
Ok(test_dir)
}

#[cfg(not(test))]
Expand Down
6 changes: 3 additions & 3 deletions lib/registry/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,7 @@ pub fn query_command_from_registry(
})
}

#[derive(Debug, Clone, PartialEq, PartialOrd)]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd)]
pub enum QueryPackageError {
ErrorSendingQuery(String),
NoPackageFound {
Expand All @@ -329,7 +329,7 @@ impl fmt::Display for QueryPackageError {
}
}

#[derive(Debug, Clone, PartialEq, PartialOrd)]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd)]
pub enum GetIfPackageHasNewVersionResult {
// if version = Some(...) and the ~/.wasmer/checkouts/.../{version} exists, the package is already installed
UseLocalAlreadyInstalled {
Expand Down Expand Up @@ -860,7 +860,7 @@ pub fn test_if_registry_present(registry: &str) -> Result<bool, String> {
use graphql_client::GraphQLQuery;

let q = TestIfRegistryPresent::build_query(test_if_registry_present::Variables {});
let _ = crate::graphql::execute_query_modifier_inner_check_json(
crate::graphql::execute_query_modifier_inner_check_json(
registry,
"",
&q,
Expand Down
4 changes: 2 additions & 2 deletions lib/vfs/src/webc_fs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ where
pub memory: Arc<MemFileSystem>,
}

impl<'a, T> WebcFileSystem<T>
impl<T> WebcFileSystem<T>
where
T: std::fmt::Debug + Send + Sync + 'static,
T: Deref<Target = WebC<'static>>,
Expand Down Expand Up @@ -54,7 +54,7 @@ where
pub memory: Arc<MemFileSystem>,
}

impl<'a, T> FileOpener for WebCFileOpener<T>
impl<T> FileOpener for WebCFileOpener<T>
where
T: std::fmt::Debug + Send + Sync + 'static,
T: Deref<Target = WebC<'static>>,
Expand Down
8 changes: 4 additions & 4 deletions lib/vm/src/store.rs
Original file line number Diff line number Diff line change
Expand Up @@ -261,8 +261,8 @@ impl<T> MaybeInstanceOwned<T> {
/// Returns underlying pointer to the VM data.
pub fn as_ptr(&self) -> NonNull<T> {
match self {
MaybeInstanceOwned::Host(p) => unsafe { NonNull::new_unchecked(p.get()) },
MaybeInstanceOwned::Instance(p) => *p,
Self::Host(p) => unsafe { NonNull::new_unchecked(p.get()) },
Self::Instance(p) => *p,
}
}
}
Expand All @@ -273,12 +273,12 @@ where
{
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
MaybeInstanceOwned::Host(p) => {
Self::Host(p) => {
write!(f, "host(")?;
p.as_ref().fmt(f)?;
write!(f, ")")
}
MaybeInstanceOwned::Instance(p) => {
Self::Instance(p) => {
write!(f, "instance(")?;
unsafe { p.as_ref().fmt(f)? };
write!(f, ")")
Expand Down
8 changes: 4 additions & 4 deletions lib/vm/src/trap/traphandlers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -829,14 +829,14 @@ enum UnwindReason {
impl UnwindReason {
fn into_trap(self) -> Trap {
match self {
UnwindReason::UserTrap(data) => Trap::User(data),
UnwindReason::LibTrap(trap) => trap,
UnwindReason::WasmTrap {
Self::UserTrap(data) => Trap::User(data),
Self::LibTrap(trap) => trap,
Self::WasmTrap {
backtrace,
pc,
signal_trap,
} => Trap::wasm(pc, backtrace, signal_trap),
UnwindReason::Panic(panic) => std::panic::resume_unwind(panic),
Self::Panic(panic) => std::panic::resume_unwind(panic),
}
}
}
Expand Down
3 changes: 3 additions & 0 deletions lib/wasi-types/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#![doc(html_favicon_url = "https://wasmer.io/images/icons/favicon-32x32.png")]
#![doc(html_logo_url = "https://github.com/wasmerio.png?size=200")]

pub mod types;
pub mod wasi;

Expand Down
2 changes: 0 additions & 2 deletions lib/wasi-types/src/types.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
#![deny(unused_mut)]
#![doc(html_favicon_url = "https://wasmer.io/images/icons/favicon-32x32.png")]
#![doc(html_logo_url = "https://github.com/wasmerio.png?size=200")]
#![allow(non_camel_case_types, clippy::identity_op)]

//! Wasmer's WASI types implementation.
Expand Down
2 changes: 1 addition & 1 deletion rust-toolchain
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.61
1.63
2 changes: 1 addition & 1 deletion tests/compilers/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::sync::Arc;
use wasmer::{CompilerConfig, Features, ModuleMiddleware, Store};
use wasmer_compiler::Engine;

#[derive(Clone, Debug, PartialEq)]
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum Compiler {
LLVM,
Cranelift,
Expand Down
Loading

0 comments on commit 06d20f7

Please sign in to comment.