WASI specifies that such an operation should fail. Node with uvwasi currently successfully creates the symlink. Other runtimes (Wasmtime, Wasmer, WasmEdge, Wazero, WAMR) successfully block this call.
fn main() {
unsafe {
let base_fd = 3;
wasi::path_symlink("/a", base_fd, "a").unwrap();
}
}