##// END OF EJS Templates
interfaces: mark a few dirstate methods abstract...
interfaces: mark a few dirstate methods abstract I'm not sure what's going on here, but when enabling pytype checking on this package, it spits out the following errors: File "/mnt/c/Users/Matt/hg/mercurial/interfaces/dirstate.py", line 136, in changing_parents: bad return type [bad-return-type] Expected: Iterator Actually returned: None Attributes of protocol Iterator are not implemented on None: __next__ File "/mnt/c/Users/Matt/hg/mercurial/interfaces/dirstate.py", line 145, in changing_files: bad return type [bad-return-type] Expected: Iterator Actually returned: None Attributes of protocol Iterator are not implemented on None: __next__ I guess technically that's true, because these methods only have a doc comment, and don't explicitly return something or unconditionally raise an error. The strange thing is that both before and after this change, the *.pyi file that is generated is unchanged, and contains: def changing_files(self, repo) -> contextlib._GeneratorContextManager: ... def changing_parents(self, repo) -> contextlib._GeneratorContextManager: ... I'm not sure if the `@abstractmethod` should be the most inner or most outer decoration. We'll roll the dice with being the innermost, because that's how `@abstractproperty` says it should be used in conjunction with `@property`. We should probably make all of the methods without an actual body abstract, like was done for some `mercurial.wireprototypes` classes in fd200f5bcaea. But let's hold off for now and do that enmass later.

File last commit:

r26284:c258f4d2 default
r53328:2c8c46c3 default
Show More
style-extra-coal.css
46 lines | 608 B | text/css | CssLexer
body {
background: black url('background.png') repeat-x;
}
.container {
padding-left: 0;
padding-right: 150px;
}
.main {
padding: 2em;
border-right: 15px solid black;
border-bottom: 15px solid black;
}
.menu {
background: #999;
padding: 10px;
width: 75px;
position: fixed;
top: 27px;
left: auto;
right: 27px;
}
.menu ul {
border-left: 0;
}
.menu li.active {
font-weight: normal;
background: black;
color: white;
}
.menu li.active a {
color: white;
}
h3 {
margin-top: -.7em;
}
div.description {
border-left-width: 3px;
}