Remove explicit S type parameters (#5275)
* Remove explicit `S` type parameters This commit removes the explicit `S` type parameter on `Func::typed` and `Instance::get_typed_func`. Historical versions of Rust required that this be a type parameter but recent rustcs support a mixture of explicit type parameters and `impl Trait`. This removes, at callsites, a superfluous `, _` argument which otherwise never needs specification. * Fix mdbook examples
This commit is contained in:
@@ -14,7 +14,7 @@ async fn run_smoke_test(store: &mut Store<()>, func: Func) {
|
||||
}
|
||||
|
||||
async fn run_smoke_typed_test(store: &mut Store<()>, func: Func) {
|
||||
let func = func.typed::<(), (), _>(&store).unwrap();
|
||||
let func = func.typed::<(), ()>(&store).unwrap();
|
||||
func.call_async(&mut *store, ()).await.unwrap();
|
||||
func.call_async(&mut *store, ()).await.unwrap();
|
||||
}
|
||||
@@ -545,8 +545,8 @@ async fn recursive_async() -> Result<()> {
|
||||
)",
|
||||
)?;
|
||||
let i = Instance::new_async(&mut store, &m, &[]).await?;
|
||||
let overflow = i.get_typed_func::<(), (), _>(&mut store, "overflow")?;
|
||||
let normal = i.get_typed_func::<(), (), _>(&mut store, "normal")?;
|
||||
let overflow = i.get_typed_func::<(), ()>(&mut store, "overflow")?;
|
||||
let normal = i.get_typed_func::<(), ()>(&mut store, "normal")?;
|
||||
let f2 = Func::wrap0_async(&mut store, move |mut caller| {
|
||||
Box::new(async move {
|
||||
// recursive async calls shouldn't immediately stack overflow...
|
||||
@@ -600,7 +600,7 @@ async fn linker_module_command() -> Result<()> {
|
||||
|
||||
linker.module_async(&mut store, "", &module1).await?;
|
||||
let instance = linker.instantiate_async(&mut store, &module2).await?;
|
||||
let f = instance.get_typed_func::<(), i32, _>(&mut store, "get")?;
|
||||
let f = instance.get_typed_func::<(), i32>(&mut store, "get")?;
|
||||
assert_eq!(f.call_async(&mut store, ()).await?, 0);
|
||||
assert_eq!(f.call_async(&mut store, ()).await?, 0);
|
||||
|
||||
@@ -638,7 +638,7 @@ async fn linker_module_reactor() -> Result<()> {
|
||||
|
||||
linker.module_async(&mut store, "", &module1).await?;
|
||||
let instance = linker.instantiate_async(&mut store, &module2).await?;
|
||||
let f = instance.get_typed_func::<(), i32, _>(&mut store, "get")?;
|
||||
let f = instance.get_typed_func::<(), i32>(&mut store, "get")?;
|
||||
assert_eq!(f.call_async(&mut store, ()).await?, 0);
|
||||
assert_eq!(f.call_async(&mut store, ()).await?, 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user