Browse Source

Update nightly used in CI (#9098)

* Update nightly used in CI

Move it up beyond the LLVM 19 upgrade to see if we have any issues with
LLVM 19.

prtest:full

* Update nightly version

* Fix some warnings on nightly

* Alternative fix for warnings

* More lint fixes

* More warning tweaks
pull/9110/head
Alex Crichton 3 months ago
committed by GitHub
parent
commit
c2cdfee406
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      .github/actions/install-rust/action.yml
  2. 7
      crates/wasmtime/src/runtime/store.rs
  3. 5
      crates/wasmtime/src/runtime/values.rs
  4. 4
      crates/wasmtime/src/runtime/vm/cow.rs
  5. 1
      crates/wasmtime/src/runtime/vm/gc.rs

2
.github/actions/install-rust/action.yml

@ -23,7 +23,7 @@ runs:
elif [ "${{ inputs.toolchain }}" = "msrv" ]; then elif [ "${{ inputs.toolchain }}" = "msrv" ]; then
echo "version=1.$msrv.0" >> "$GITHUB_OUTPUT" echo "version=1.$msrv.0" >> "$GITHUB_OUTPUT"
elif [ "${{ inputs.toolchain }}" = "wasmtime-ci-pinned-nightly" ]; then elif [ "${{ inputs.toolchain }}" = "wasmtime-ci-pinned-nightly" ]; then
echo "version=nightly-2024-07-25" >> "$GITHUB_OUTPUT" echo "version=nightly-2024-08-12" >> "$GITHUB_OUTPUT"
else else
echo "version=${{ inputs.toolchain }}" >> "$GITHUB_OUTPUT" echo "version=${{ inputs.toolchain }}" >> "$GITHUB_OUTPUT"
fi fi

7
crates/wasmtime/src/runtime/store.rs

@ -1178,13 +1178,14 @@ impl<T> StoreInner<T> {
// Temporarily take the configured behavior to avoid mutably borrowing // Temporarily take the configured behavior to avoid mutably borrowing
// multiple times. // multiple times.
#[cfg_attr(not(feature = "call-hook"), allow(unreachable_patterns))]
if let Some(mut call_hook) = self.call_hook.take() { if let Some(mut call_hook) = self.call_hook.take() {
let result = self.invoke_call_hook(&mut call_hook, s); let result = self.invoke_call_hook(&mut call_hook, s);
self.call_hook = Some(call_hook); self.call_hook = Some(call_hook);
result return result;
} else {
Ok(())
} }
Ok(())
} }
fn invoke_call_hook(&mut self, call_hook: &mut CallHookInner<T>, s: CallHook) -> Result<()> { fn invoke_call_hook(&mut self, call_hook: &mut CallHookInner<T>, s: CallHook) -> Result<()> {

5
crates/wasmtime/src/runtime/values.rs

@ -854,9 +854,10 @@ impl Ref {
(Ref::Any(_), HeapType::Any) => true, (Ref::Any(_), HeapType::Any) => true,
(Ref::Any(Some(a)), HeapType::I31) => a._is_i31(store)?, (Ref::Any(Some(a)), HeapType::I31) => a._is_i31(store)?,
(Ref::Any(Some(a)), HeapType::Struct) => a._is_struct(store)?, (Ref::Any(Some(a)), HeapType::Struct) => a._is_struct(store)?,
(Ref::Any(Some(a)), HeapType::ConcreteStruct(ty)) => match a._as_struct(store)? { (Ref::Any(Some(a)), HeapType::ConcreteStruct(_ty)) => match a._as_struct(store)? {
None => false, None => false,
Some(s) => s._matches_ty(store, ty)?, #[cfg_attr(not(feature = "gc"), allow(unreachable_patterns))]
Some(s) => s._matches_ty(store, _ty)?,
}, },
(Ref::Any(Some(_)), HeapType::Eq) => todo!("eqref"), (Ref::Any(Some(_)), HeapType::Eq) => todo!("eqref"),
(Ref::Any(Some(_)), HeapType::Array) => todo!("wasm GC arrays"), (Ref::Any(Some(_)), HeapType::Array) => todo!("wasm GC arrays"),

4
crates/wasmtime/src/runtime/vm/cow.rs

@ -1,6 +1,10 @@
//! Copy-on-write initialization support: creation of backing images for //! Copy-on-write initialization support: creation of backing images for
//! modules, and logic to support mapping these backing images into memory. //! modules, and logic to support mapping these backing images into memory.
// `MemoryImageSource` is an empty enum on some platforms which triggers some
// warnings
#![cfg_attr(any(not(unix), miri), allow(unreachable_patterns))]
use crate::prelude::*; use crate::prelude::*;
use crate::runtime::vm::sys::vm::{self, MemoryImageSource}; use crate::runtime::vm::sys::vm::{self, MemoryImageSource};
use crate::runtime::vm::{MmapVec, SendSyncPtr}; use crate::runtime::vm::{MmapVec, SendSyncPtr};

1
crates/wasmtime/src/runtime/vm/gc.rs

@ -149,6 +149,7 @@ impl GcStore {
) -> Result<Result<VMExternRef, Box<dyn Any + Send + Sync>>> { ) -> Result<Result<VMExternRef, Box<dyn Any + Send + Sync>>> {
let host_data_id = self.host_data_table.alloc(value); let host_data_id = self.host_data_table.alloc(value);
match self.gc_heap.alloc_externref(host_data_id)? { match self.gc_heap.alloc_externref(host_data_id)? {
#[cfg_attr(not(feature = "gc"), allow(unreachable_patterns))]
Some(x) => Ok(Ok(x)), Some(x) => Ok(Ok(x)),
None => Ok(Err(self.host_data_table.dealloc(host_data_id))), None => Ok(Err(self.host_data_table.dealloc(host_data_id))),
} }

Loading…
Cancel
Save