meson icon indicating copy to clipboard operation
meson copied to clipboard

fails to setup with `warning_level=everything` when `rust` is used

Open ognevny opened this issue 10 months ago • 0 comments

Describe the bug project failes to setup

Found ninja-1.11.1 at C:\msys64\clang64\bin/ninja.EXE
Traceback (most recent call last):
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/mesonmain.py", line 186, in run
    return options.run_func(options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/msetup.py", line 363, in run
    app.generate()
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/msetup.py", line 187, in generate
    return self._generate(env, capture, vslite_ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/msetup.py", line 251, in _generate
    captured_compile_args = intr.backend.generate(capture, vslite_ctx)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/backend/ninjabackend.py", line 620, in generate
    self.generate_target(t)
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/backend/ninjabackend.py", line 866, in generate_target
    self.generate_rust_target(target)
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/backend/ninjabackend.py", line 1940, in generate_rust_target
    args += self.generate_basic_compiler_args(target, rustc)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/backend/backends.py", line 999, in generate_basic_compiler_args
    commands += compiler.get_warn_args(T.cast('str', target.get_option(OptionKey('warning_level'))))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/clang64/lib/python3.11/site-packages/mesonbuild/compilers/rust.py", line 208, in get_warn_args
    return self._WARNING_LEVELS[level]
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'everything'

ERROR: Unhandled python exception

    This is a Meson bug and should be reported!

To Reproduce

project(
    'example',
    'rust',
    version: '0.0.0',
    meson_version: '>= 1.3.0',
    default_options: ['warning_level=everything'],
)

# subdirectory with rust sources
subdir('rusted')

Expected behavior project setup with no errors

system parameters

  • Is this a cross build or just a plain native build (for the same computer)? for the same computer
  • what operating system: Windows 11
  • what Python version are you using: 3.11.9
  • what meson --version: 1.4.0
  • what ninja --version if it's a Ninja build: 1.11.1

ognevny avatar Apr 16 '24 16:04 ognevny