Mercurial > hg
view tests/test-fix-clang-format.t @ 51721:ed28085827ec
typing: explicitly type some `mercurial.util` eol code to avoid @overload
Unlike the previous commit, this makes a material difference in the generated
stub file- the `pycompat.identity()` aliases generated an @overload like this:
@overload
def fromnativeeol(a: _T0) -> _T0: ...
... which might fail to detect a bad argument, like str. This drops the
@overload for the 3 related methods, so there's a single definition for each.
The `typelib.BinaryIO_Proxy` is used for subclassing (the same as was done in
8147abc05794), so that it is a `BinaryIO` type during type checking, but still
inherits `object` at runtime. That way, we don't need to implement unused
abstract methods.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 19 Jul 2024 16:49:46 -0400 |
parents | 2ecf5c24d0cd |
children |
line wrap: on
line source
#require clang-format Test that a simple "hg fix" configuration for clang-format works. $ cat >> $HGRCPATH <<EOF > [extensions] > fix = > [experimental] > evolution.createmarkers=True > evolution.allowunstable=True > [fix] > clang-format:command=clang-format --style=Google --assume-filename={rootpath} > clang-format:linerange=--lines={first}:{last} > clang-format:pattern=set:**.cpp or **.hpp > EOF $ hg init repo $ cd repo $ printf "void foo(){int x=2;}\n" > foo.cpp $ printf "void\nfoo();\n" > foo.hpp $ hg commit -Am "foo commit" adding foo.cpp adding foo.hpp $ hg cat -r tip * void foo(){int x=2;} void foo(); $ hg fix -r tip $ hg cat -r tip * void foo() { int x = 2; } void foo(); $ cd ..