Questions about wasm32-unknown-unknown core spec compatibility

Apologies if this isn't the place to ask, but I was hoping to get some clarification on how rustc's wasm32-unknown-unknown target relates to the WebAssembly core specification, now and going forward.
It's my understanding that at the moment, wasm32-unknown-unknown produces wasm bytecode that's wholly compliant with the 1.0 WebAssembly core spec. Is that correct?

It's also my understanding that the 1.1 core spec adds new functionality that compilers like rustc could take advantage of. If so, when the 1.1 core spec is finalized, how will rustc users pick between producing bytecode that utilizes 1.1 features, vs bytecode that's compatible with 1.0 interpreters?
I'm working on a project targeting platforms that aren't guaranteed to get 1.1 compatible interpreters, so I want to make sure that support for the 1.0 specification and interpreters isn't being dropped.

I believe this is handled in basically the same way as new extensions in hardware architectures are - via target features. Just like you have to explicitly enable e.g. AVX2 instructions on x86_64, you have to explicitly enable multi-value-returns in WASM.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.