Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Now that we don't insert /utf-8 into the always args for MSVC < 19.00
we need to use a version > 19.00 for testing. This also means that
/Zc:__cplusplus will be added to the always args.
|
|
|
|
Only combine them in the Compiler base class, this will make easier to
run compiler without ccache.
|
|
Those classes are used by wrapper scripts and we should not have to
import the rest of mesonlib, build.py, and all their dependencies for
that.
This renames mesonlib/ directory to utils/ and add a mesonlib.py module
that imports everything from utils/ to not have to change `import
mesonlib` everywhere. It allows to import utils.core without importing
the rest of mesonlib.
|
|
This is wasteful and generally unneeded, since code can just use the
compiler they detected instead of manually poking at the internals of
this subpackage.
It also avoids importing an absolute ton of code the instant one runs
`from . import compilers`
|
|
The first test is checking the added support for keys as either `dict`
or `list`.
The second checks that a default value which would otherwise trigger a
value_since check doesn't, and that passing the default value explicitly
does.
|
|
"targetting" is verb-derived adjective, which sort-of-works here, but
makes the whole sentence awkward, because there's no verb. Let's just
use present simple.
|
|
This allows these two arguments to take a tuple of (version, message),
where the message will be passed to Feature*'s message parameter
|
|
|
|
For passing an extra message to Feature*
This allows providing a more detailed message.
|
|
This just makes things a little cleaner, and allows more accurate error
reporting.
|
|
Which shouldn't be Dict[str, str], they should be Dict[_T, str], as nay
value that can be passed to types is valid here.
|
|
Improve error messages for typed_kwarg type mismatches in containers
|
|
|
|
We don't want to get something like "expected array[str], but got
array[int | int]", we really want `arrayp[int]`.
|
|
Python uses this syntax now, as does typescript and other languages
|
|
Currently, if you pass a `[]string`, but the argument expects
`[]number`, then you get a message like `expected list[str] but got
list`. That isn't helpful. With this patch arrays and dictionaries will
both print messages with the types provided.
|
|
|
|
info.types could be a tuple like (str, ContainerTypeInfo()). That means
we have to check types one by one and only print error if none of them
matched.
Also fix the case when default value is None for a container type, it
should leave the value to None to be able to distinguish between unset
and empty list.
|
|
All changes were created by running
"pyupgrade --py3-only"
and committing the results. Although this has been performed in the
past, newer versions of pyupgrade can automatically catch more
opportunities, notably list comprehensions can use generators instead,
in the following cases:
- unpacking into function arguments as function(*generator)
- unpacking into assignments of the form x, y = generator
- as the argument to some builtin functions such as min/max/sorted
Also catch a few creeping cases of new code added using older styles.
|
|
Remove test_minor_version_does_not_reconfigure_wipe() because when run
during dev cycle that test reconfigure with .99 -> .100 which is
considered a major version change now. It is covered by a more efficient
internal test now anyway.
While at it, remove no-op `with Path(self.builddir):` statement, the
intention was clearly to set workdir.
Fixes: #9260
|
|
This simplifies things for us, as we don't have to have threading
imported for no other reason, and we can remove the
`an_unpicklable_object` from the Interpreter and mesonlib, since there
was only one user of this.
|
|
We want this, so let's test it.
|
|
Fixes #9191
|
|
This seems like an oversight, that we'd replace ppc with ppc64 on AIX
for the cpu_family, but not for the specific cpu.
|
|
Same thing, but for the more specific cases
|
|
This should help prevent regressions.
|
|
The correct way to mark these is `KwargInfo(..., (T, type(None)))`.
There's also a few cases of `(T, None)` which is invalid, as `None`
isn't a type
|
|
This is quite valuable for enum-like inputs, where only a certain set
of values is allowed.
|
|
AS we've run into a few programs using ansi escapes in their version
outputs, we'd like to test them as well.
|
|
|