Commit Graph
10 Commits
Author SHA1 Message Date
Roy Williams 41ba734fc2 Fix return type of next when default parameter is provided.
**test_next.py**:
```python
z = (x*2 for x in range(10))
reveal_type(next(z, None))
```

Before:
```shell
test_next.py:2: error: Revealed type is 'builtins.int*'
```

After:
```shell
test_next.py:2: error: Revealed type is 'Union[builtins.int*, builtins.None]'
```
2017-01-13 09:46:51 -08:00
Roy Williams 6008b9dbb1 Overload signature of get to return an Optional value and to allow default to take any type to match runtime behavior.
This chage more closely matches the behavior of `get` at runtime.  Users can pass whatever they want in to the default
parameter and it will be returned if the key is absent.  Additionally, `get` should return an `Optional` if called with
only one parameter.

```python
z = {'a': 22}
reveal_type(z.get('b'))
reveal_type(z.get('b', 22))
reveal_type(z.get('b', 'hello'))
```

Before:
```shell
test_get_default.py:2: error: Revealed type is 'builtins.int*'
test_get_default.py:3: error: Revealed type is 'builtins.int*'
test_get_default.py:4: error: Revealed type is 'builtins.int*'
test_get_default.py:4: error: Argument 2 to "get" of "dict" has incompatible type "str"; expected "int"
```

After:
```shell
test_get_default.py:2: error: Revealed type is 'Union[builtins.int*, builtins.None]'
test_get_default.py:3: error: Revealed type is 'builtins.int'
test_get_default.py:4: error: Revealed type is 'Union[builtins.int, builtins.str*]'
```
2017-01-11 22:02:29 -08:00
Roy Williams 844b32cc64 Fixup types 2017-01-03 10:17:20 -08:00
Roy Williams 7fd08cf073 Add more type information to requests.PreparedRequest 2017-01-03 10:17:20 -08:00
Roy Williams c34f11d569 Add more specific types to protobuf 2017-01-01 11:31:03 -08:00
Roy Williams 7c706e1100 Move boto to 2and3, add stubs for s3
I've added types for the functions we've been using internally, will expand in the future.
2016-12-22 11:23:36 -08:00
Roy Williams 3d79158db5 Add return type to multiprocessesing.cpu_count for Python 2.
Python 3 already had the correct type, it was missing in Python 2.
2016-12-19 23:51:21 -08:00
Roy Williams 1b30761802 Small changes by @rowilla to collections.pyi and urllib/requests.pyi.
(Extracted from PR #530.)
2016-11-08 19:40:10 -08:00
Roy Williams f7f9c956ff Add stubs for cookielib to 2.
(Extracted from PR #530.))
2016-11-08 19:39:27 -08:00
Roy Williams 7f22db0492 Add Async classes to typing stub. 2015-12-01 23:36:19 -08:00