profile
viewpoint

mroch/ical_builder 8

An iCalendar generator in Ruby, modelled after Jim Weirich's Builder

mroch/bigmoney 6

Represents an amount of money in a particular currency. Backed by BigDecimal, so is safe from float rounding errors.

mroch/baby-connect 5

A library for interacting with Baby Connect

mroch/attachment_fu 2

Treat an ActiveRecord model as a file attachment, storing its patch, size, content type, etc.

mroch/authpipe 2

Ruby library to respond to Courier authpipe authentication requests

mroch/campusbooks 2

A Ruby library for accessing the CampusBooks.com API

mroch/crestron-alexa-server 2

Simpl# Alexa server

mroch/GzipSimplSharp 2

A Crestron Simpl# library to enable gzip decoding in SIMPL+

mroch/interlock 2

Evan Weaver's Rails plugin for maintainable and high-efficiency caching.

mroch/amazonian 1

Building out ASIN with the full Amazon Product Advertising API

startedPepperDash/Essentials

started time in 7 days

pull request commentfacebook/flow

Improve definitions for Node url.parse function

this change makes url.format(url.parse(...)) incompatible. I think you need to add | null to url$UrlObject (but keep all of those properties optional).

chicoxyzzy

comment created time in 12 days

Pull request review commentfacebook/flow

Add 'replace' method to DOMTokenList

 declare class DOMTokenList {   add(...token: Array<string>): void;   remove(...token: Array<string>): void;   toggle(token: string, force?: boolean): boolean;+  replace(oldToken: string, token: newToken): boolean;

should this be newToken: string?

w01fgang

comment created time in 12 days

PR closed facebook/flow

test github actions CLA Signed

tap tap is this thing on?

+13198 -0

0 comment

178 changed files

mroch

pr closed time in a month

PR closed facebook/flow

Add missing label to List.sort compare function CLA Signed

<!-- If this is a change to library defintions, please include links to relevant documentation. If this is a documentation change, please prefix the title with [DOCS].

If this is neither, ensure you opened a discussion issue and link it in the PR description. --> Otherwise the build fails with:

…
ocamlfind: [WARNING] Package `threads': Linking problems may arise because of the missing -thread or -vmthread switch
File "hack/heap/sharedMem.ml", line 1198, characters 21-55:
Error: This expression should not be a function, the expected type is
'a Hh_core.List.t
Command exited with code 2.
Compilation unsuccessful after building 181 targets (0 cached) in 00:00:44.
make: *** [Makefile:291: build-flow] Error 10
+1 -1

1 comment

1 changed file

marsam

pr closed time in a month

pull request commentfacebook/flow

Add missing label to List.sort compare function

picked this up as part of https://github.com/facebook/flow/pull/8216, thank you for the fix!

marsam

comment created time in a month

pull request commentfacebook/flow

Add optional cb for node dgram socket.close function

thanks!

davidnaas

comment created time in a month

delete branch mroch/flow

delete branch : circle_win_opam

delete time in a month

PR opened facebook/flow

[circle] set OPAMDOWNLOADJOBS=1 on Windows
+3 -2

0 comment

1 changed file

pr created time in a month

push eventmroch/flow

Marshall Roch

commit sha 3ba32c93d86aa3996aa7a91e2b4d07907acaf928

[circle] set OPAMDOWNLOADJOBS=1 on Windows

view details

push time in a month

issue commentfdopen/opam-repository-mingw

Can't install dune-configurator (cp: cannot create regular file ... permission denied)

OPAMDOWNLOADJOBS=1 seems like it works. I've only tested it once so far, but it downloads dune first, then [dune-configurator.2.1.2] found in cache. thanks!

mroch

comment created time in a month

push eventmroch/flow

Marshall Roch

commit sha 374af37990889eabf6d818044d544ee783766c4c

[circle] set OPAMDOWNLOADJOBS=1 on Windows See https://github.com/fdopen/opam-repository-mingw/issues/71

view details

push time in a month

create barnchmroch/flow

branch : circle_win_opam

created branch time in a month

issue commentfdopen/opam-repository-mingw

Can't install dune-configurator (cp: cannot create regular file ... permission denied)

it fails quite often but it doesn't always fail, so it seems like a race. assuming that's what you're getting at with OPAMDOWNLOADJOBS=1. i'll try that out now.

I don't have a lot of Windows experience but did some googling... it seems nontrivial to figure out what the permission issue could be. willing to try whatever, if you know what to do, though!

mroch

comment created time in a month

issue openedfdopen/opam-repository-mingw

Can't install dune-configurator (cp: cannot create regular file ... permission denied)

I've been having trouble installing dune-configurator. Here are the logs: https://gist.github.com/mroch/b42338e16fdb53c24a9cc164866e0a51

What I gather is that both dune and dune-configurator contain the same dune-2.1.2.tbz, which hashes to 9c3278ebb3ec14dc4b1880671371985edcd6cbb979260dd403f28acabbcc5faf. so it copies the .tbz to the same path in the cache twice:

+ C:\tools\cygwin\bin\cp.exe "C:/Users/circleci/project/_opam/.opam-switch/sources/dune.2.1.2/dune-2.1.2.tbz" "C:/Users/circleci/.opam/download-cache/sha256/9c/9c3278ebb3ec14dc4b1880671371985edcd6cbb979260dd403f28acabbcc5faf"
[...]
+ C:\tools\cygwin\bin\cp.exe "C:/Users/circleci/project/_opam/.opam-switch/sources/dune-configurator.2.1.2/dune-2.1.2.tbz" "C:/Users/circleci/.opam/download-cache/sha256/9c/9c3278ebb3ec14dc4b1880671371985edcd6cbb979260dd403f28acabbcc5faf"
- /usr/bin/cp: cannot create regular file 'C:/Users/circleci/.opam/download-cache/sha256/9c/9c3278ebb3ec14dc4b1880671371985edcd6cbb979260dd403f28acabbcc5faf': Permission denied

the second time, it fails presumably because it already exists, and there must be something weird about the permissions on Windows because that works fine elsewhere.

created time in a month

issue commentocaml/dune

unbound module in custom toplevel

You can look at how utop does it: https://github.com/ocaml-community/utop/blob/master/src/lib/uTop.ml#L796

permalink: https://github.com/ocaml-community/utop/blob/7df33e500a19dbcec73a3856f6b498e021f7c125/src/lib/uTop.ml#L796

puitgfr

comment created time in a month

PR opened facebook/flow

fix dune again
+1 -1

0 comment

1 changed file

pr created time in a month

create barnchmroch/flow

branch : dune_fix_2

created branch time in a month

startedMatKlucznyk/LgWebOs

started time in a month

PR opened facebook/flow

[circle] improve caching of Mac builds
+17 -21

0 comment

1 changed file

pr created time in a month

push eventmroch/flow

Marshall Roch

commit sha b6a658db7ccb4e8e223ca1f859beda365973f608

[circle] improve caching of Mac builds

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 1c98e270b32efdf5c37c2bafb46021b55b1a77c4

[circle] improve caching of Mac builds

view details

push time in a month

create barnchmroch/flow

branch : circle_mac

created branch time in a month

PR opened facebook/flow

Publish Windows binary from Circle, remove Appveyor
+53 -128

0 comment

6 changed files

pr created time in a month

push eventmroch/flow

Marshall Roch

commit sha 47b81e194947e6c8066078301f6166535b0c6ffa

[circle] copy yarn install flags from appveyor

view details

Marshall Roch

commit sha c5d0f4da9ead0cc1cfa32ff2cb30dd41e5113a94

remove appveyor

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 6a372f4b1175dcf8eb20ffa3dc0f1e56f7426f0a

[circle] upload win64 binary to github releases

view details

Marshall Roch

commit sha df59fe429b04bb18ef431ca3fd262e94943ec378

[circle] run parser tests on windows

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 87cd62744e6b646a9cd58b513b4066f3ea8916fb

increase verbosity to debug failed switch creation

view details

push time in a month

create barnchmroch/flow

branch : circle_windows

created branch time in a month

push eventmroch/flow

Sam Goldman

commit sha 9a969c00a83eb6f096ae24105c609cc5d4c8ae33

Drop unnecessary atomic operations Summary: hh_move and hh_remove are only allowed from the master process and will never be called concurrently. These functions already perform non-atomic updates to other values. No perf motive here. Instead, I think it's just a bit misleading to use an atomic operation here, since it gives the false impression that there might be some concurrency here. Reviewed By: gabelevi Differential Revision: D19267097 fbshipit-source-id: 20c2895aa857204fe00a6888810f081a6f305d17

view details

Sam Goldman

commit sha f5223504d5d9338d9df48ed2a16be904f25d23f6

Remove some unused definitions in hh_shared Summary: These definitions were left over from forking from Hack and removing features unused by Flow. Reviewed By: gabelevi Differential Revision: D19267096 fbshipit-source-id: 492047c95558b0b4357cc7a67b15d57facd04618

view details

Sam Goldman

commit sha 52122ff61ddda004b70dd53f74a37a4c69e16e6f

Remove unused includes Summary: These are mostly vestigial from forking from Hack. The stdint case can be removed because the OCaml runtime API already defines types like uint64_t. The OCaml runtime actually includes a lot of nice definitions, since the runtime is highly portable. Reviewed By: gabelevi Differential Revision: D19267095 fbshipit-source-id: 0afc8ce5fb031674e117557938f8f91b4f80cf48

view details

Sam Goldman

commit sha 6310ba8fb04b96cb7aef56e38dfd2d3e6429c699

Drop unused special-case for string-valued heap entries Summary: In practice, Flow doesn't use string-valued heaps at all. Even if we did, the non-string case will still work, just with an additional malloc/free and serialization step, which is reasonably efficient as well. My motivation here is mostly simplicity, but eliminating this case also brings the existing shared heap closer to the new heap design I'm working towards. Reviewed By: gabelevi Differential Revision: D19267093 fbshipit-source-id: c5800400fff0c60c6c37ff7000b46162376af587

view details

Sam Goldman

commit sha e971baf2ba5fb4c68cca7b200f5040075aa767a4

Replace hand-rolled local_t alignment with C11 stdalign.h Summary: Pull Request resolved: https://github.com/facebook/flow/pull/8252 Shared memory stores worker-local data in the page(s) immediately following the first "small objects" page. This is an array of local_t structs with one element for each worker and one for the master process. Before this diff, the structs were arranged manually, aligned to CACHE_LINE_SIZE. Access was performed through a macro which handled the offsets. Instead, we can use alignas, introduced in C11, to ensure that each local_t struct is aligned to the cache line boundary. With this alignment in place, the "standard" array access will just work, so the LOCAL macro is unnecessary. Reviewed By: gabelevi Differential Revision: D19268644 fbshipit-source-id: 3e057d6e57a1b4835c8cb268d19081f2704b8ccc

view details

Daniel Sainati

commit sha 694a309274926b7f943c6d4e9384568aac7ec749

make uses of unknown_use generated by calls to rec_flow_t more explicit Summary: We want to reduce the frequency with which we use this `use_op`, and it was created in many cases as the default value of calls to `rec_flow_t` that did not supply a `use_op` argument. By requiring calls to this function to supply this argument in every case, we make it easier to track down and replace improper uses of this `use_op`. Reviewed By: panagosg7 Differential Revision: D19184897 fbshipit-source-id: ea132a93a1181b085fda0084acf32d78d6871c42

view details

Panagiotis Vekris

commit sha 5f1e229361e5e69436e856f8b9f58608d94f60f1

[AST Differ] add support for DeclareClass Summary: Makes the AST differ sensitive to changes in the identifier, type params, extends and body of a DeclareClass node. Reviewed By: nmote Differential Revision: D18910125 fbshipit-source-id: 32b5ce0c547b5d64a1215675a54f6a3fed78001e

view details

Panagiotis Vekris

commit sha efa5187e4518ffba9dcadd612a5bab72525b7716

[normalizer] Pull Cache in its own module Summary: Simple refactor that cleans-up some code in the normalizer Reviewed By: samwgoldman Differential Revision: D19321548 fbshipit-source-id: 95f5946aecf341a3406898657284a497e8fae394

view details

Panagiotis Vekris

commit sha a1f9a4c709dcebb27a5084acf47755fbae699c25

[normalizer] Fix bug in normalizer cache Summary: The normalizer uses a cache to store the result of normalized `OpenT`s and `EvalT`s. Keys to this cache are just the identifiers of these types. What is not reflected in the cache is whether the normalized version of the type includes any free recursive variables. To see why this is problematic, consider normalizing an `OpenT(i)` and `OpenT(j)` such that ``` lower(i) = C<j> lower(j) = D<i> ``` The steps for normalizing `OpenT(i)` (related to caching) are: 1. create fresh `I` for `i` 2. create fresh `J` for `j` 3. resolve `j` as `mu J . D<I>` and add to cache 4. resolve `i` as `mu I . C<mu J . D<I>>` and add to cache The result for the top-level `i` is well-formed, but then if we wish to resolve `OpenT(j)` as a top-level type, the cache will return ``` mu J . D<I> ``` which is now ill-formed, since `I` is out-of-scope. This caused the following ``` const flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) { return a.concat(b); }); ``` to return ``` Array<(any | number | V$1)> | Array<(any | number)> ``` This diff fixes this by skipping step (3) above. It does so by only caching results if there are no `OpenT`s under normalization (quick check), or the result type does not include free recursive variables (slower check). Reviewed By: samwgoldman Differential Revision: D19321547 fbshipit-source-id: 6405a6fd44181198bd58ae3ea9bd2061a7759eca

view details

Nat Mote

commit sha 54ea5bfbd32ff61f6ed02732aaf93b514e2b9d63

v0.116.0 Reviewed By: gkz Differential Revision: D19335806 fbshipit-source-id: 34181ba72eff7fe0b656ce965ec53bf04e8a4c9e

view details

Sam Goldman

commit sha 68a4b6ac3e3454895fd2ec70b9b6a97076463bdd

Replace globals in "small objects page" with a struct Summary: Pull Request resolved: https://github.com/facebook/flow/pull/8254 The first page of the shared memory segment contains a bunch of metadata. Currently these data are manually aligned and stored in a few global variables. This diff replaces the handful of global variables with a single global variable pointing to a struct having those data as fields instead. The fields are aligned either naturally or using the C11 alignas specifier in the case of atomics. The atomics are over-aligned to 128 bits instead of 64 bits, following folly's Align::hardware_destructive_interference_size [1]. My primary motivation here is primarily simplification. The manual alignment code was verbose, fragile, and annoying to update. Note in particular the change in `define_globals` which was littered with (trivial, but noisy) asserts that are now replaced with a single assert that the struct fits in a single page. My secondary motivation is to make it easier to add more fields to the first page of shared memory. Currently, the layout of shared memory is passed to worker processes out-of-band, along with the file descriptor of the shared file. Instead, we can store the layout information in this first page and pass workers only a file descriptor. This way, workers can map the first page to get the layout info, then use that layout info to make the other mappings. 1. https://github.com/facebook/folly/blob/09634ef57a35013feb3d0d44ae89f06a4c4c1458/folly/lang/Align.h#L122 Reviewed By: jbrown215 Differential Revision: D19270407 fbshipit-source-id: 7a2f11a057aca545b5dc1c44092ae05dec4b03b3

view details

Panagiotis Vekris

commit sha f050d4d850209027ff47500247f6e33b7ec51d4c

[RFC] Replace `Ast.M.N.(...)` with `let open Ast.M.N in` Summary: {D18479763} introduced the `Ast.M.N.(...)` for opening modules, which brought a lot of vertical space and extra parentheses. This replaces this with `let open Ast.M.N in ...`. I did the same with ``` Ast Ast.M Ast.M.N Ast.M.N.O Flow_ast Flow_ast.M Flow_ast.M.N Flow_ast.M.N.O Expression Statement ``` Repro steps: ``` sed -i 's/^ *Ast\.(/let open Ast in (/g' src/**.ml sed -i 's/^ *Ast\.\([A-Z][a-zA-Z]*\)\.(/let open Ast.\\1 in (/g' src/**.ml sed -i 's/^ *Ast\.\([A-Z][a-zA-Z]*\)\.\\([A-Z][a-zA-Z]*\\)\.(/let open Ast.\\1.\\2 in (/g' src/**.ml ... arc f ``` some manual fixes Reviewed By: gkz, dsainati1, vrama628 Differential Revision: D19340207 fbshipit-source-id: 6f011e701b6005490b4ec7ee5952c31acdbf92b6

view details

Marshall Roch

commit sha 5f0599fd05351c1abcba8849a85a1dfeace69e9d

[PR] CircleCI Windows build Summary: ports the Windows build from appveyor to Circle. currently only runs the tool tests, since that's all we run in appveyor, and the runtests.sh tests fail, mainly due to \ vs / in paths in the expected output. this also doesn't publish flow.exe to github releases yet, since appveyor still does that. i want to make sure this works for a bit and then drop appveyor. Pull Request resolved: https://github.com/facebook/flow/pull/8256 Reviewed By: samwgoldman Differential Revision: D19349065 Pulled By: mroch fbshipit-source-id: d5386c74149fbdd8657a40aa0578e1e4b90a2cb1

view details

Phil Barber

commit sha f1e2e9bf0e0d922ba2da28d272c9772eb5ffb6ca

[PR] [fix-broken-doc-link] closes #8198 Summary: Broken link on website, this breaks the link when browsing the repository however this appears to be standard for the repo. https://github.com/facebook/flow/issues/8198 Pull Request resolved: https://github.com/facebook/flow/pull/8247 Differential Revision: D19325373 Pulled By: mroch fbshipit-source-id: 5e0de585a86140f0fa2cb4579883d4e35cd8e64f

view details

push time in a month

delete branch mroch/flow

delete branch : circle_windows

delete time in a month

push eventmroch/flow

Marshall Roch

commit sha aee4aeb73b9f5b9e7adc61a57e6c7042d8c1a0a0

local opam orb

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha dab95820dc98ebba86f9564c79002c86aec74e68

scripts

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 9c062e0554b446b5b6abe394ac7e8e4c4f02764b

CircleCI Windows build

view details

push time in a month

PR opened facebook/flow

CircleCI Windows build
+172 -72

0 comment

1 changed file

pr created time in a month

push eventmroch/flow

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 0625b7fb001654dcbd3f7dd823dd7ebe06f944a6

runtests.sh

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 320e68c79b3b002e7152862319163de3e5b4040e

more trial and error

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha da49d7bc4a23b59af49b52f0b4ec02337c899f8b

more trial and error

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 8b5f909eeff1a009bf14961d80ae291c2cbb1fed

more trial and error

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha e4273c83adad45c2c09cf484010aab5593b17a84

caching

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 0026039b6d69d7fd833fd2d7f04fd9d919f18930

caching

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 283b2660f46471b9c29fe084c26d416f6c77ceef

caching

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 5253056d19da263fc5b19a3c441dc4d3b18bc8c1

caching

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 3b05370c0b0bbed5ec63a85c409685cbb4a45bce

Run tool tests

view details

Marshall Roch

commit sha 36bca6e5ccb6fbba21fa817b02b156f4f12482f8

caching

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha bf484bce3498b918f976d9010549190aae697a6f

Run tool tests

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 5a8422d22e17c0a4236f15350a2f1ac514b536d5

Run tool tests

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha d18dc2b9816f61451aa20381f2991ef3c9ce17d5

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 274c132a1869805be6cc936e76bb9f1dcdaf0b70

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 85e2aa8b152ca80f0953ccc9cf031c274964f8e5

CircleCI Windows build

view details

push time in a month

pull request commentfacebook/flow

[fix-broken-doc-link] closes #8198

thanks!

Phil-Barber

comment created time in a month

push eventmroch/flow

Marshall Roch

commit sha 9f8b069ba622571ca2ddc4e3b9747177182bf232

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha bd6aa309df6d4283ea1f435a909e0e085a189b63

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 2c18f73f8a0b24a69a9909081bb907b20d1aa97b

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 707c5177190d23ad3c8760d45309802cce890da4

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 7055d73db59871e8c2baa46342e2a2f83a368b98

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 1e0d944c544d962936186d609e5acb328a670269

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha f1058a4886a7a9ea74d213fa196460662f49c5cc

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 4e6fe4b482456bba8ba81e84e736f400d7d5e908

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 6cc252811968d1ea852da971f467e65264c65063

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha c1515e7b4afd3c387eacc97153c148d81b42d794

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha aa65719357ee5b7a1bf483578949ce8b02ab6bf6

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 8e859483b111ae835d36dec453fea1e9fb9bfe93

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 66603e516423c9a88d1edf2c7fb0ef42710419a6

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 56572c7bc71045ecc78cdfc783ce94d7a1919067

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha de7eaebe6b9da7333921be295a19423704e3f1a6

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 7f655873ae2d9d5aaa9456e9d5b1ba562bce98fa

CircleCI Windows build

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha ef11d30c7fe95fdf176733b40fb9d056685970ff

CircleCI Windows build

view details

push time in a month

create barnchmroch/flow

branch : circle_windows

created branch time in a month

push eventmroch/flow

Jordan Brown

commit sha 311c088488dc077d474f193887fcd9796c46def8

[hashing] Use full ALoc instead of hashes for pmap_ids Summary: There is a small chance that two locs can hash to the same value. In that case, we might get conflicting pmap_ids and non-sensical error messages. Reviewed By: avikchaudhuri Differential Revision: D17079058 fbshipit-source-id: 8f422d921a287d594b0accbe5c52fc665de622f8

view details

Gabe Levi

commit sha a1cb0d2e587525a8c0ade30a58c39b00a303454e

v0.106.3 Reviewed By: jbrown215 Differential Revision: D17114108 fbshipit-source-id: 1626854990730bc62af9fa95ac44bccc36d6179f

view details

George Zahariev

commit sha c7062e9ae0ac9bce43e8592e56186c58709513bd

[enums] Parse exporting enums Summary: Adds support for: ``` export enum A {} ``` and ``` export default enum A {} ``` Reviewed By: gabelevi Differential Revision: D17105742 fbshipit-source-id: a1a7140fb9be6d896de8c0dea2c3abd93904cf30

view details

Ted Spence

commit sha 3fb6b51926150993872e7e1e882197fa1790e947

[hack] Move expand_namespace to Utils.ml Summary: Let's standardize the behavior of expanding namespaces using the namespace alias map. * Take the existing function in serverSignatureHelp.ml and move it into Utils.ml * Redo the function so it no longer has a dependency on ServerEnv * Make an alias under ServerEnv so that it's easy to call as long as you have a ServerEnv available * Add a set of unit tests so we can prove it's working the way we want Reviewed By: jewelpit Differential Revision: D17084358 fbshipit-source-id: cfc89b9b35aa9129a8116c62ecce52f57ee1364a

view details

Paul O'Shannessy

commit sha 7c6e6071d7efec2efbc7789d1fc9eb8697af8638

Adopt Contributor Covenant Summary: In order to foster healthy open source communities, we're adopting the [Contributor Covenant](https://www.contributor-covenant.org/). It has been built by open source community members and represents a shared understanding of what is expected from a healthy community. Reviewed By: josephsavona, danobi, rdzhabarov Differential Revision: D17104640 fbshipit-source-id: d210000de686c5f0d97d602b50472d5869bc6a49

view details

Avik Chaudhuri

commit sha fb134e59168e00a4b94b0db8f417371093f6d1c0

error improvements for annotations with evaluation Summary: Repositioning is often used just to set `annot_loc`. Setting `annot_loc` is important because references in rendered errors prefer `annot_loc` over `def_loc` over `loc`. In particular, we try to be careful about making tvars inside AnnotT have some `annot_loc`. We missed a case where `AnnotT` can flow to a `TypeDestructorTrigger` on the way to `eval_destructor`. Reviewed By: panagosg7 Differential Revision: D16979430 fbshipit-source-id: c610b338eaf2fc714b5bbb2c0d202fa30f48ec87

view details

Avik Chaudhuri

commit sha f5ff755d6440b5db7b2882082e93f6fcbffcbcc2

fix unexpected internal type exception Summary: Internal types are not supposed to become use types, and violating this leads to an assertion failure. Unfortunately internal types can hit `AnnotT`, which wraps them in a `ReposUseT`, which can then be exposed as use types in a rule involving `MergedT`. But `MergedT` (1) cannot arise in types-first and (2) without types-first, can hit `ReposUseT` leading to a no-op at best (flowing a type to a repositioned version of itself) and a crash because of the above problem at worst. So this diff deletes the `MergedT ~> ReposUseT` rule (until we delete `MergedT` completely). Reviewed By: panagosg7 Differential Revision: D17084689 fbshipit-source-id: f67f6f6760f1e259e2b8f736101bfc09037fd7ec

view details

Avik Chaudhuri

commit sha aec84d9f18b4b828d2e7583ecf01086a5736cc58

ShapeT should be compatible with ExactT Summary: Compatibility rules for `ShapeT` as lower bounds are currently very loose: `ShapeT(o)` can be used however `o` can be used. However, because the compatibility rules for `ExactT` currently precede those for `ShapeT` in our implementation, and because `ExactT` errors using a wildcard, `ShapeT` is currently incompatible with `ExactT`. This does not appear to be by design. For example, if a `ShapeT` flows to a `ExactT` through a `ReposLowerT`, there is currently no error. Therefore this diff makes `ShapeT` explicitly compatible with `ExactT`. In the future, we might harden `ShapeT` but that's a big project. Reviewed By: panagosg7 Differential Revision: D17089642 fbshipit-source-id: 381cfcaba8736e21cb71f9e3ccda64a0f97a772d

view details

Avik Chaudhuri

commit sha 5080477b116c0d03020356a613214c30e8b78f7e

remove funky repositioning of arguments to parameters Summary: No need to reposition arguments to parameters in function calls. Use ops are good enough. Bonus: removed a piece of hacky code (and the comment that called it out). Reviewed By: panagosg7 Differential Revision: D16979479 fbshipit-source-id: cea2613e0f9c5fb5b5245e646ae093f5fd88528d

view details

Avik Chaudhuri

commit sha 01d5908e9521052fa8dc0c3d2a7bbeb88cfb90d1

add explicit flag to replace_reason_const calls (part 1) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054199 fbshipit-source-id: 8594a717a2b4c563ab6754aa54eb89bc37a20739

view details

Avik Chaudhuri

commit sha 85419e18939e1338bb917a66ade6211fcc783bb5

add explicit flag to replace_reason_const calls (part 2) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054203 fbshipit-source-id: 07ec18de9a3456c67c729910216ad8ec9eba7f84

view details

Avik Chaudhuri

commit sha 7f4a8152ce3275a741ffe15f82bd52da364a4026

add explicit flag to replace_reason_const calls (part 3) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054208 fbshipit-source-id: 3655ca0480e5bfebf555ea98450672cef97190ed

view details

Avik Chaudhuri

commit sha a615096c931ec4607cb11244fb8cf357cc4df54e

add explicit flag to replace_reason_const calls (part 4) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054214 fbshipit-source-id: b01f2cc87ba213bba9e17bf48d809e565085b249

view details

Avik Chaudhuri

commit sha 98ce29d6b88c686fa778fd91d639f17991e93b3c

add explicit flag to replace_reason_const calls (part 5) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054219 fbshipit-source-id: 7869825c82ba43d8318257dfe6e55e5f8a278636

view details

Avik Chaudhuri

commit sha 3d616a8288a1c51fbf6157be1fa7783bea52cbab

add explicit flag to replace_reason_const calls (part 6) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054222 fbshipit-source-id: a4491062ca01bd7c09428af308ebd21b5d5f675c

view details

Avik Chaudhuri

commit sha 1b689ab0baa995e42f3e532cafe0c674d5a7957e

add explicit flag to replace_reason_const calls (part 7) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054224 fbshipit-source-id: 97f8a86b26276d96b5d836860fd4bcf7a83894cf

view details

Avik Chaudhuri

commit sha 45bbdcb16acfef799e173b6ac6b3cc2bcaa942e9

add explicit flag to replace_reason_const calls (part 8) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054226 fbshipit-source-id: 557171974a90a24f95c4a86ba3172f926a919880

view details

Avik Chaudhuri

commit sha 494e4ef879f470005973b9ec7fde3ee6ec624433

add explicit flag to replace_reason_const calls (part 9) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054235 fbshipit-source-id: e9fe10d9abba0aaf9f68bb53615cbc0fee33b57a

view details

Avik Chaudhuri

commit sha 59488c55bdfbbfaf2197ee3b33d4fcb141df5d14

add explicit flag to replace_reason_const calls (part 10) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054239 fbshipit-source-id: c0f3dc6024dacd1490959d71556d827987ae04a4

view details

Avik Chaudhuri

commit sha e62b2066a07cc8ef3dcd0b3eea54a5e21d370ba1

add explicit flag to replace_reason_const calls (part 11) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054243 fbshipit-source-id: f1cc68416fc01e18ae1fcfaad5d40cdb59513315

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 570c606da866d62d2bcccbf0566e66ca95c8edf4

[PR] Allow lwt.4.4.0 on windows Summary: opam for windows doesn't have lwt 4.5.0 yet, so allow 4.4.0 for now Pull Request resolved: https://github.com/facebook/flow/pull/8248 Differential Revision: D19247129 Pulled By: mroch fbshipit-source-id: f8f3db7a0ff34fe962f17bf19008d6c050dde4f5

view details

Sam Goldman

commit sha b05421e8e5e1e367e04f50866342b01e896cb50b

Fix Windows build Summary: Pull Request resolved: https://github.com/facebook/flow/pull/8246 I broke this in D19183602. I reversed the calculation being performed here, to instead include the size of the objects we do want to reserve. Separately, it seems like a reasonable idea to commit these pages all the time, not just for Windows. Reviewed By: mroch Differential Revision: D19239503 fbshipit-source-id: 0ac24d86c4cc25d5a9aac69568b061806a0f9089

view details

Marshall Roch

commit sha fbdf007850bf63b175341f4b2274a753e17ffcd3

v0.114.1 Reviewed By: samwgoldman, panagosg7 Differential Revision: D19247218 fbshipit-source-id: 39f909da41e1035fb93141afee8ff2db5d7284a0

view details

Sam Goldman

commit sha 654f91f278d8d4b81b6e7a273bc87cd0fac10d49

Use name loc for ROpaqueType Summary: Before this change, the ROpaqueType reason was associated with the statement location, which is not a very meaningful location to appear in error messages. Reviewed By: jbrown215 Differential Revision: D19252139 fbshipit-source-id: 2dc8451f3a7accce317c4993036339287a668790

view details

George Zahariev

commit sha 2d8579c0dd81f6e78c4deaf427ab74f433a350cb

[docs] Update lint rule reference docs Summary: - Sorted rules alphabetically, in TOC and in document overall - Added `deprecated-type` to the TOC - Removed docs for long removed `deprecated-declare-exports` lint - Updated the language of `deprecated-utility`, as they are really just aliases for `any` now - Added docs for `ambiguous-object-type` - Removed some other outdated language (e.g. about things "coming soon" or "in the works" that actually aren't) Reviewed By: jbrown215 Differential Revision: D19242964 fbshipit-source-id: fd3a0c9f6887a5fe3ed37ecf37a907660531d7d0

view details

George Zahariev

commit sha 648504fc0e5c4a0eb7cacf43eec276e71e3c0243

[docs] Update symbol docs Summary: I added basic support for symbols as a primitive type (T58034836), which came out in v0.114. Update the docs with this new support. Reviewed By: dsainati1 Differential Revision: D19241769 fbshipit-source-id: 01b62bc5aa6bf733842028ecb36780e431986928

view details

dependabot[bot]

commit sha 16d749b988a157e6dcec96afd3a677ba555c801a

[PR] Bump rack from 1.6.11 to 1.6.12 in /website Summary: Bumps [rack](https://github.com/rack/rack) from 1.6.11 to 1.6.12. <details> <summary>Changelog</summary> *Sourced from [rack's changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md).* > ## [1.6.12] - 2019-12-08 > > - [[CVE-2019-16782](https://nvd.nist.gov/vuln/detail/CVE-2019-16782)] Prevent timing attacks targeted at session ID lookup. ([@&https://github.com/facebook/flow/issues/8203;tenderlove](https://github.com/tenderlove), [@&https://github.com/facebook/flow/issues/8203;rafaelfranca](https://github.com/rafaelfranca)) > > ## [2.0.7] - 2019-04-02 > > ### Fixed > > - Remove calls to `#eof?` on Rack input in `Multipart::Parser`, as this breaks the specification. ([@&https://github.com/facebook/flow/issues/8203;matthewd](https://github.com/matthewd)) > - Preserve forwarded IP addresses for trusted proxy chains. ([@&https://github.com/facebook/flow/issues/8203;SamSaffron](https://github.com/SamSaffron)) > > ## [2.0.6] - 2018-11-05 > > ### Fixed > > - [[CVE-2018-16470](https://nvd.nist.gov/vuln/detail/CVE-2018-16470)] Reduce buffer size of `Multipart::Parser` to avoid pathological parsing. ([@&https://github.com/facebook/flow/issues/8203;tenderlove](https://github.com/tenderlove)) > - Fix a call to a non-existing method `#accepts_html` in the `ShowExceptions` middleware. ([@&https://github.com/facebook/flow/issues/8203;tomelm](https://github.com/tomelm)) > - [[CVE-2018-16471](https://nvd.nist.gov/vuln/detail/CVE-2018-16471)] Whitelist HTTP and HTTPS schemes in `Request#scheme` to prevent a possible XSS attack. ([@&https://github.com/facebook/flow/issues/8203;PatrickTulskie](https://github.com/PatrickTulskie)) > > ## [2.0.5] - 2018-04-23 > > ### Fixed > > - Record errors originating from invalid UTF8 in `MethodOverride` middleware instead of breaking. ([@&https://github.com/facebook/flow/issues/8203;mclark](https://github.com/mclark)) > > ## [2.0.4] - 2018-01-31 > > ### Changed > > - Ensure the `Lock` middleware passes the original `env` object. ([@&https://github.com/facebook/flow/issues/8203;lugray](https://github.com/lugray)) > - Improve performance of `Multipart::Parser` when uploading large files. ([@&https://github.com/facebook/flow/issues/8203;tompng](https://github.com/tompng)) > - Increase buffer size in `Multipart::Parser` for better performance. ([@&https://github.com/facebook/flow/issues/8203;jkowens](https://github.com/jkowens)) > - Reduce memory usage of `Multipart::Parser` when uploading large files. ([@&https://github.com/facebook/flow/issues/8203;tompng](https://github.com/tompng)) > - Replace ConcurrentRuby dependency with native `Queue`. ([@&https://github.com/facebook/flow/issues/8203;devmchakan](https://github.com/devmchakan)) > > ### Fixed > > - Require the correct digest algorithm in the `ETag` middleware. ([@&https://github.com/facebook/flow/issues/8203;matthewd](https://github.com/matthewd)) > > ### Documentation > > - Update homepage links to use SSL. ([@&https://github.com/facebook/flow/issues/8203;hugoabonizio](https://github.com/hugoabonizio)) > > ## [2.0.3] - 2017-05-15 > > ### Changed > > - Ensure `env` values are ASCII 8-bit encoded. ([@&https://github.com/facebook/flow/issues/8203;eileencodes](https://github.com/eileencodes)) > > ### Fixed ></tr></table> ... (truncated) </details> <details> <summary>Commits</summary> - [`de902e4`](https://github.com/rack/rack/commit/de902e48d1c971fe145002039121afb69e10af5a) Merge branch '1-6-sec' into 1-6-stable - [`b7d6546`](https://github.com/rack/rack/commit/b7d6546e2e21a620559b498707f65f5206f662e2) Bump version - [`d3e2f88`](https://github.com/rack/rack/commit/d3e2f88c17dad2c7997e453d7ef518dd6e751ac8) making diff smaller - [`99a8a87`](https://github.com/rack/rack/commit/99a8a8776513839b5da4af393b67afe95a9412d8) fix memcache tests on 1.6 - [`f2cb48e`](https://github.com/rack/rack/commit/f2cb48e50e507e638973f331d4a62099fae567ec) fix tests on 1.6 - [`7ff635c`](https://github.com/rack/rack/commit/7ff635c51d29f3e19377855f6010574fb2e8e593) Introduce a new base class to avoid breaking when upgrading - [`3232f93`](https://github.com/rack/rack/commit/3232f9370d099e784a16c01d32e8a2da4a953f18) Add a version prefix to the private id to make easier to migrate old values - [`15da2e5`](https://github.com/rack/rack/commit/15da2e5d95228d0b3fcdb38b2a562efc333402f0) Fallback to the public id when reading the session in the pool adapter - [`1a532d1`](https://github.com/rack/rack/commit/1a532d13eee9d5546349b5253a204187773de151) Also drop the session with the public id when destroying sessions - [`9fe40c6`](https://github.com/rack/rack/commit/9fe40c68b514e0f4a947577e4b903a9ae477365e) Fallback to the legacy id when the new id is not found - Additional commits viewable in [compare view](https://github.com/rack/rack/compare/1.6.11...1.6.12) </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rack&package-manager=bundler&previous-version=1.6.11&new-version=1.6.12)](https://help.github.com/articles/configuring-automated-security-fixes) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot ignore this [patch|minor|major] version` will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flow/network/alerts). </details> Pull Request resolved: https://github.com/facebook/flow/pull/8241 Reviewed By: gkz Differential Revision: D19253672 Pulled By: dsainati1 fbshipit-source-id: 695fc4cfedee4e08aa472384e21d24e041a60a39

view details

George Zahariev

commit sha 759970c1b6dc0a25171d9969e34eaf5dae70f130

Remove inexact-spread lint Summary: After jbrown215's changes to spread, this lint is no longer relevant. Reviewed By: jbrown215 Differential Revision: D19241113 fbshipit-source-id: 6ea5b54fb6137a2b4b0ef220a429aca475abeb14

view details

Marshall Roch

commit sha 96ac70d818cbdbe153545da57b34d036a108cfd4

better exception on write errors due to dead monitor Summary: when the monitor process exits without telling the server process[1], the server throws an EPIPE exception the next time the server tries to write a status update to the monitor's (closed) socket. we can detect this and exit slightly more gracefully... it still essentially crashes the server, but now it does it with the correct exit code and message in the logs. [1] I know of two cases when the monitor dies like this: - something `kill -9`s the monitor process, which doesn't give it a chance to tell the server - the monitor exits due to file watcher issues, since the monitor waits until the watcher is initialized before sending any messages to the server, including the shutdown message! Reviewed By: gabelevi Differential Revision: D19265027 fbshipit-source-id: 32bda9bb61a8a2aeef461d44cba9e23f130fb25c

view details

Marshall Roch

commit sha 652ab9553d8ef7eacc522f9056b7da162d135c0f

Wrap exceptions in LwtInit to preserve traces Summary: `Lwt_main.run` loses backtraces when its callback errors. To work around it, we catch exceptions within the callback, store their traces using `Exception.wrap`, then re-raise them outside the `Lwt_main.run`. https://github.com/ocsigen/lwt/issues/720 is tracking a more holistic fix. Reviewed By: gabelevi Differential Revision: D19265118 fbshipit-source-id: 5b0ba92f0a689a1fd596f6c570ad10b8d79bc8bf

view details

Nat Mote

commit sha 267056d8f82d596062739b787275708f3597c834

Turn minimal_merge on by default Summary: We'll have one release where this is default on before removing it altogether. Reviewed By: gabelevi Differential Revision: D18050977 fbshipit-source-id: cd260c10d8eb19cafb113f2502be2d7338015580

view details

Panagiotis Vekris

commit sha 53f1a44138e3cc5afced2198def5124328170008

v0.115.0 Reviewed By: gkz Differential Revision: D19266318 fbshipit-source-id: 9dccaf2a9303c00a7a9983ae36ee9440c9f2a05e

view details

Marshall Roch

commit sha c09e1377d965a13606b825c7b2dd254d32a432c8

fix unhandled exception when failing to get mergebase from watchman Summary: i'm not sure how to put watchman into a bad state to repro this. but at least now it'll be a handled exception instead of an unhandled one. {P124209276} Reviewed By: gabelevi Differential Revision: D19238746 fbshipit-source-id: 865e33cd2b717fba6abfb9362c3b70b3b43c67c9

view details

Daniel Sainati

commit sha d36baf68d545b2bf8452a0f9546072ed48b59fc1

object and instance access that seem likely to be typos now include a suggested property name in the error message Summary: This updates the `EStrictLookupFailed` and `EPropNotFound` error messages to include a possible suggested name change if the failed property access seems likely to be a typo. We determine if it's likely to be a typo by comparing the property we are looking for with all the properties in the object or instances inheritance hierarchy using the `typo_suggestion` function. Note that this also adds a new field to `LookupT`: the set of property map ids we have already failed on in this lookup action. We need to do this because lookups walk the prototype chain, so we only know we have failed the lookup when we see a prototype, which itself has no fields on it. Reviewed By: mroch Differential Revision: D19047090 fbshipit-source-id: b2dc65b7613b3e4e1c6fda5504fe3382ab244a12

view details

Panagiotis Vekris

commit sha fea10670c07c6334cca20dde1c5276edde250a83

[normalizer] Default normalizer options Summary: Pull out commonly used normalizer options. Reviewed By: gkz Differential Revision: D19269451 fbshipit-source-id: 1b58d49f6c30211e834336decc2da499f34becaf

view details

Panagiotis Vekris

commit sha 22269663197b7408bd27510460158642cbeb2ffd

Use record for CommandHandler.infer_type input Summary: This replaces the tuple-input to `infer_type` with a record. Reviewed By: dsainati1 Differential Revision: D19269452 fbshipit-source-id: 382b4b7ae7328a46ccfd619f0a6e27fca9fe076e

view details

Panagiotis Vekris

commit sha 599caf44fcc061df8319f88ea2ca0b8c4e240bfb

[Normalizer] Add debug logging Summary: Logs input (Type.t) and output (Ty.t) of every step of the normalization process. Logging is enabled with the `--verbose-normalizer` flag of `type-at-pos`. Reviewed By: dsainati1 Differential Revision: D19267242 fbshipit-source-id: 1561b33be5d6578ca5b3be2ededac02cd539753a

view details

Daniel Sainati

commit sha 706e83b1dd3f8014e4408096713c43eb3f282c2f

make EPropNotFound an inlined record Summary: it's easier to understand what each field is this way Reviewed By: gkz Differential Revision: D19267421 fbshipit-source-id: d34794fa7acd535b05db5fefe4ab118e7a14eae9

view details

push time in a month

push eventmroch/flow

Marshall Roch

commit sha 570c606da866d62d2bcccbf0566e66ca95c8edf4

[PR] Allow lwt.4.4.0 on windows Summary: opam for windows doesn't have lwt 4.5.0 yet, so allow 4.4.0 for now Pull Request resolved: https://github.com/facebook/flow/pull/8248 Differential Revision: D19247129 Pulled By: mroch fbshipit-source-id: f8f3db7a0ff34fe962f17bf19008d6c050dde4f5

view details

Sam Goldman

commit sha 42f8cddf404b99c32ec2cf09e7d4a943f2750bc0

Fix Windows build Summary: I broke this in D19183602. I reversed the calculation being performed here, to instead include the size of the objects we do want to reserve. Separately, it seems like a reasonable idea to commit these pages all the time, not just for Windows. Differential Revision: D19239503 fbshipit-source-id: e5066227d3c0206af6e2b37331914b9f7eade29d

view details

push time in 2 months

push eventmroch/flow

Marshall Roch

commit sha c04db512f14c2732f3a85637b700d33dee06bda2

Allow lwt.4.4.0 on windows

view details

push time in 2 months

push eventmroch/flow

Marshall Roch

commit sha 42bd9e1241af1f98a12f048061906c73be1bbf7c

Allow lwt.4.4.0 on windows

view details

push time in 2 months

PR opened facebook/flow

Allow lwt.4.4.0 on windows

opam for windows doesn't have lwt 4.5.0 yet, so allow 4.4.0 for now

+2 -1

0 comment

1 changed file

pr created time in 2 months

create barnchmroch/flow

branch : opam_win

created branch time in 2 months

push eventmroch/flow

Andrew Kennedy

commit sha a31e3f5ca24544cbc0aab7598b89bf10ed7747e9

[hack] End fixed point iteration early if we reach a fixed point Summary: As the title suggests. When checking loops, we currently iterate `alias_depth` times, where `alias_depth` is the biggest chain of dependencies between locals in the loop. It's known that (a) this does not always result in a fixed point (e.g. you can construct ever larger generic types), and (b) very often the fixed point will be reached sooner, but we continue iterating anyway. This diff tackles (b). We can exit the iteration early if the environment (in fact, the per-continuation environment associated with the Next continuation) remains stable. Reviewed By: Wilfred Differential Revision: D18833199 fbshipit-source-id: 4fad670abeb1b9ddb76a1bcfcf07ce1ac9179554

view details

Marshall Roch

commit sha 3ca7910ea68788ae64021f766d4615f1110148fc

[parser] catch exceptions when running tests Summary: if running a parser test causes an uncaught exception, catch it and fail the test. Reviewed By: panagosg7 Differential Revision: D18854450 fbshipit-source-id: b0915f905a616cdc4d8f49f3ebf1f0239444a6ff

view details

Gabe Levi

commit sha 9cc73bf378bf4f3814727b9462df1ff166920c71

Re-sync with internal repository

view details

Gabe Levi

commit sha 629d9d8e11339fcd156f045e87ed5b034242e72a

Merge pull request #8219 from gabelevi/fixup-T58746821-master Re-sync with internal repository

view details

George Zahariev

commit sha 862c037b7353d79db434d5bbaeb6d1929c20e986

[enums] Add enums to value used as type error message Summary: Enums are also types. Initially I thought about only adding "or enum" if the enums option was on, but looking at the code I don't think it's worth it to thread the options through the code. If the enums option is off, the message is not incorrect, just slightly not as relevant. Reviewed By: jbrown215 Differential Revision: D18844442 fbshipit-source-id: 8a9d64ec3dab4a9849b7dcb9a907a5122a690294

view details

Daniel Sainati

commit sha 7b47143e260995a51443731a3ccdd4c72511d351

add FilterOptionalT Summary: In a future diff we would like to decompose `UnionT X ~> OptionalT Y` constraints into the following: `UnionT X ~> UnionT (Y, VoidT)`. An invariant of the `UnionT` upper bound speculation process, however, that the upper bound union arises from an annotation, and thus contains only 0->1 tvars. `OptionalT` types can arise from annotations, but they can also be created via a "filtering" method, wherein we flow a type to an `OptionalT` containing a tvar, to "strip off" `void` from a type, and use that tvar in place of the original type. This process is not guaranteed to produce a 0->1 tvar, and thus is not compatible with speculation. In order to ensure that we can perform the desired decomposition, we introduce a new `FilterOptionalT` type that behaves like an `OptionalT` upper bound. The upside of this is that we now have the guarantee that `OptionalT`s are no longer created by this filtering process, and thus that they contain tvars compatible with speculation. Reviewed By: samwgoldman Differential Revision: D18785765 fbshipit-source-id: dda3b5a8dbf38e2a6302ce313b0bf6b026692374

view details

Daniel Sainati

commit sha 22247bdf6015e0d8f7d4dcaf1eb475830d4d5232

add FilterMaybeT Summary: This diff is much the same as D18785765, except for `MaybeT` instead of `OptionalT` Reviewed By: samwgoldman Differential Revision: D18785766 fbshipit-source-id: 832cb5b38412e203a8c54e1ef67e9e4f852e4f12

view details

Panagiotis Vekris

commit sha 503ed2fe69509a7baac28f917c95f260bfda1beb

Call bind_fun on id loc instead of function body span Summary: The binding that we introduced to the environment for named function declarations included the location span of the entire function body. This diff changes this by matching the name location instead. This matchers what we do for classes and what the signature generator produces in its environment. Reviewed By: samwgoldman Differential Revision: D18769621 fbshipit-source-id: e7708c6e018f6ccc9fa83b4eb0f9a4b3e9de9160

view details

Panagiotis Vekris

commit sha 7542d411d663d7f974bd323a45eb71da1b719cd9

[types-first] Error on exported class and function assignment Summary: Before, Flow classic and types-first both allowed the pattern ``` class A {} A = 1; export {A}; ``` but the signature they produced differed: classic would include the updated value of `A` (number), but types-first the class definition. To address this discrepancy, we are making this pattern an error in types-first. The error is raised in `Env.update_var` whenever an exported class or function is being reassigned. The check needs to happen here, since the signature extractor does not visit all statement, even though the environment of exported bindings is populated much earlier during signature generation. The fix for this kind of error is reassign to another local variable and export that. Reviewed By: samwgoldman Differential Revision: D17610639 fbshipit-source-id: 83ec6f55d94482ad5c8775c532d336c9eaff09d4

view details

Nat Mote

commit sha 1f58c9bf6428e2500d70a74e71cd79a8083d0855

Move CheckedSet to common/utils/checked_set Summary: This avoids a circular dependency that would have been introduced by D18795963. Reviewed By: gabelevi Differential Revision: D18795964 fbshipit-source-id: c5e128251d8adfd4b69ca53b4d1a77e8d9c2bb9f

view details

Nat Mote

commit sha d5a10840e53a94fcaeb09b50ff9d75f82e48be79

Faster `CheckedSet` cardinal operations Summary: Without this, we have to do, e.g. `CheckedSet.dependencies checked_set |> FilenameSet.cardinal`. `CheckedSet.dependencies` and its companions allocate a whole new set. For large sets, this takes a substantial amount of time. Reviewed By: gabelevi Differential Revision: D18795965 fbshipit-source-id: 7d42f3386cb05083edf049ab7d58ec27e00cc981

view details

Nat Mote

commit sha a366818f3c3d947e0bf534b496e2546d181d7d32

Log count of dependencies merged in a recheck Reviewed By: gabelevi Differential Revision: D18795963 fbshipit-source-id: 3099e4972a930d8a0ffef5a18021bfc4f0f091e9

view details

George Zahariev

commit sha ab41e190ba43d905bdede8e6898284c7be3854fc

[enums] If enums option is off, don't introduce new binding, use `any` type Summary: Previously, if `experimental.enums` was not on, we errored at the `EnumDeclaration` site but otherwise continued as usual. Instead, we should not introduce a new binding, and type the enum declaration as `any`. An alternate approach would be to still introduce the binding, but type it as `any`. In any case, it shouldn't be typed as the actual enum. Reviewed By: dsainati1 Differential Revision: D18872836 fbshipit-source-id: c29bbaa700d49eab294c0e4a0fa9b1f923131e86

view details

George Zahariev

commit sha 9951dde755d86bf5b7c135f395f2cca550e6bb0f

[enums] Fix logic around exhaustive checks Summary: First, I move the logic for doing exhaustive checks on enums into its own file, to keep `merge_js.ml` clean. Second, I was previously using `Type_mapper.union_flatten` on the switch discriminant, but this was not exactly what was required (exposed by changing the test from `const x: E = E.A` to `const x = E.A`.i We want to look at possible types. I implement some logic to do what is required (calling `Flow_js.possible_types`, and also avoiding non-required work). Reviewed By: dsainati1 Differential Revision: D18879865 fbshipit-source-id: 3c49a4cdb3e21a78cc7aadc2823303b905b1b53d

view details

George Zahariev

commit sha 931e12baaa396b5192d4ed8074f383c83e58071a

[enums] Improve error messages Summary: - Use `desc` rather than `ref` for primary reasons. This seems to be deduplicated in the CLI output, so I didn't notice it in the tests, but the duplication is visible in Try Flow and potentially other interfaces. - Consistently use periods at the end of error messages. - Improve the langauge around other errors Reviewed By: dsainati1 Differential Revision: D18880177 fbshipit-source-id: fcb0a4fc5b2857edce741ac41bd18ab190a2f953

view details

Gabe Levi

commit sha 7719b02cdf672d15ab815ad1c6a662502d055aa8

Update copyright headers for ml,mli,mll,mly,c,h Summary: We previously only linted `.ml` and `.mli` files. Reviewed By: zertosh Differential Revision: D18887987 fbshipit-source-id: 9fec6d8317fb8e7527181a26fd188884119ee5bb

view details

Gabe Levi

commit sha 5656a224126a9affb606d2f98308db0bd5c9f14e

Add copyright header to .sh files Summary: Probably every file which ends up on GitHub should have a header if possible. This adds headers to our `.sh` files. Reviewed By: zertosh Differential Revision: D18888029 fbshipit-source-id: 12da0e761315b338744fdd274eeeceac9fe3eae9

view details

Gabe Levi

commit sha eed373907faf5c522927c89603931a8939ba76ae

Add copyright header to other files Reviewed By: zertosh Differential Revision: D18888146 fbshipit-source-id: a94374cfb55fc288ec2da3ae148198e951fe4fd0

view details

Nat Mote

commit sha fe5bf27c1906e89a11f66d989b9d4094d26115f0

Cache type_contents results to speed up LSP DefinitionRequest Summary: This creates a cache as part of the persistent connection client info, and uses it to speed up DefinitionRequests coming from an LSP client. `type_contents` is a function of (a) the contents of the file being typechecked, and (b) the stored `SigContext`s in shared memory. Therefore, the cache invalidation strategy is to invalidate the entire cache on a recheck (because it perturbs the `SigContext`s, and is the only thing to do so), and to invalidate the cache for each file whenever that file changes (using the DidChange messages). Storing the cache with the rest of the persistent connection client information makes invalidation fairly straightforward, since any DidChange message can invalidate the cache for that file. We know that the contents used to service persistent requests are only changed when DidChange messages come through. Reviewed By: gabelevi Differential Revision: D18739043 fbshipit-source-id: 62094eb8e36c779c25e77fc832e2c7856c566cf7

view details

Nat Mote

commit sha a042a51684324c36345dddb7be18cd52b109fe70

Use type_contents cache for LSP HoverRequest Summary: Pretty much the same as D18739043, but for hover Reviewed By: gabelevi Differential Revision: D18739039 fbshipit-source-id: 12060d9ea9457642c612b932563e7fc8e98ef8be

view details

push time in 2 months

create barnchmroch/flow

branch : export-D19239503

created branch time in 2 months

PR opened facebook/flow

Fix Windows build

Summary: I broke this in D19183602. I reversed the calculation being performed here, to instead include the size of the objects we do want to reserve.

Separately, it seems like a reasonable idea to commit these pages all the time, not just for Windows.

Differential Revision: D19239503

+3 -3

0 comment

1 changed file

pr created time in 2 months

created tagflowtype/flow-bin

tagv0.114.0

Binary wrapper for Flow - A static type checker for JavaScript

created time in 2 months

push eventflowtype/flow-bin

Marshall Roch

commit sha 460cd6db90a35a6b2d12d48a1aa712e9486ddf47

v0.114.0

view details

push time in 2 months

push eventfacebook/flow

Marshall Roch

commit sha 94fab24f031a22281992da12a2a87174999ae562

Sync hack changes

view details

push time in 2 months

PR merged facebook/flow

Sync hack changes CLA Signed

fbshipit-source-id: 0dd75570b90446b274b641c1f4e8e61cd73d8077

+30 -27

0 comment

7 changed files

mroch

pr closed time in 2 months

PR opened facebook/flow

Sync hack changes
+30 -27

0 comment

7 changed files

pr created time in 2 months

create barnchmroch/flow

branch : v0.114-fix

created branch time in 2 months

push eventmroch/flow

Andrew Kennedy

commit sha a31e3f5ca24544cbc0aab7598b89bf10ed7747e9

[hack] End fixed point iteration early if we reach a fixed point Summary: As the title suggests. When checking loops, we currently iterate `alias_depth` times, where `alias_depth` is the biggest chain of dependencies between locals in the loop. It's known that (a) this does not always result in a fixed point (e.g. you can construct ever larger generic types), and (b) very often the fixed point will be reached sooner, but we continue iterating anyway. This diff tackles (b). We can exit the iteration early if the environment (in fact, the per-continuation environment associated with the Next continuation) remains stable. Reviewed By: Wilfred Differential Revision: D18833199 fbshipit-source-id: 4fad670abeb1b9ddb76a1bcfcf07ce1ac9179554

view details

Marshall Roch

commit sha 3ca7910ea68788ae64021f766d4615f1110148fc

[parser] catch exceptions when running tests Summary: if running a parser test causes an uncaught exception, catch it and fail the test. Reviewed By: panagosg7 Differential Revision: D18854450 fbshipit-source-id: b0915f905a616cdc4d8f49f3ebf1f0239444a6ff

view details

Gabe Levi

commit sha 9cc73bf378bf4f3814727b9462df1ff166920c71

Re-sync with internal repository

view details

Gabe Levi

commit sha 629d9d8e11339fcd156f045e87ed5b034242e72a

Merge pull request #8219 from gabelevi/fixup-T58746821-master Re-sync with internal repository

view details

George Zahariev

commit sha 862c037b7353d79db434d5bbaeb6d1929c20e986

[enums] Add enums to value used as type error message Summary: Enums are also types. Initially I thought about only adding "or enum" if the enums option was on, but looking at the code I don't think it's worth it to thread the options through the code. If the enums option is off, the message is not incorrect, just slightly not as relevant. Reviewed By: jbrown215 Differential Revision: D18844442 fbshipit-source-id: 8a9d64ec3dab4a9849b7dcb9a907a5122a690294

view details

Daniel Sainati

commit sha 7b47143e260995a51443731a3ccdd4c72511d351

add FilterOptionalT Summary: In a future diff we would like to decompose `UnionT X ~> OptionalT Y` constraints into the following: `UnionT X ~> UnionT (Y, VoidT)`. An invariant of the `UnionT` upper bound speculation process, however, that the upper bound union arises from an annotation, and thus contains only 0->1 tvars. `OptionalT` types can arise from annotations, but they can also be created via a "filtering" method, wherein we flow a type to an `OptionalT` containing a tvar, to "strip off" `void` from a type, and use that tvar in place of the original type. This process is not guaranteed to produce a 0->1 tvar, and thus is not compatible with speculation. In order to ensure that we can perform the desired decomposition, we introduce a new `FilterOptionalT` type that behaves like an `OptionalT` upper bound. The upside of this is that we now have the guarantee that `OptionalT`s are no longer created by this filtering process, and thus that they contain tvars compatible with speculation. Reviewed By: samwgoldman Differential Revision: D18785765 fbshipit-source-id: dda3b5a8dbf38e2a6302ce313b0bf6b026692374

view details

Daniel Sainati

commit sha 22247bdf6015e0d8f7d4dcaf1eb475830d4d5232

add FilterMaybeT Summary: This diff is much the same as D18785765, except for `MaybeT` instead of `OptionalT` Reviewed By: samwgoldman Differential Revision: D18785766 fbshipit-source-id: 832cb5b38412e203a8c54e1ef67e9e4f852e4f12

view details

Panagiotis Vekris

commit sha 503ed2fe69509a7baac28f917c95f260bfda1beb

Call bind_fun on id loc instead of function body span Summary: The binding that we introduced to the environment for named function declarations included the location span of the entire function body. This diff changes this by matching the name location instead. This matchers what we do for classes and what the signature generator produces in its environment. Reviewed By: samwgoldman Differential Revision: D18769621 fbshipit-source-id: e7708c6e018f6ccc9fa83b4eb0f9a4b3e9de9160

view details

Panagiotis Vekris

commit sha 7542d411d663d7f974bd323a45eb71da1b719cd9

[types-first] Error on exported class and function assignment Summary: Before, Flow classic and types-first both allowed the pattern ``` class A {} A = 1; export {A}; ``` but the signature they produced differed: classic would include the updated value of `A` (number), but types-first the class definition. To address this discrepancy, we are making this pattern an error in types-first. The error is raised in `Env.update_var` whenever an exported class or function is being reassigned. The check needs to happen here, since the signature extractor does not visit all statement, even though the environment of exported bindings is populated much earlier during signature generation. The fix for this kind of error is reassign to another local variable and export that. Reviewed By: samwgoldman Differential Revision: D17610639 fbshipit-source-id: 83ec6f55d94482ad5c8775c532d336c9eaff09d4

view details

Nat Mote

commit sha 1f58c9bf6428e2500d70a74e71cd79a8083d0855

Move CheckedSet to common/utils/checked_set Summary: This avoids a circular dependency that would have been introduced by D18795963. Reviewed By: gabelevi Differential Revision: D18795964 fbshipit-source-id: c5e128251d8adfd4b69ca53b4d1a77e8d9c2bb9f

view details

Nat Mote

commit sha d5a10840e53a94fcaeb09b50ff9d75f82e48be79

Faster `CheckedSet` cardinal operations Summary: Without this, we have to do, e.g. `CheckedSet.dependencies checked_set |> FilenameSet.cardinal`. `CheckedSet.dependencies` and its companions allocate a whole new set. For large sets, this takes a substantial amount of time. Reviewed By: gabelevi Differential Revision: D18795965 fbshipit-source-id: 7d42f3386cb05083edf049ab7d58ec27e00cc981

view details

Nat Mote

commit sha a366818f3c3d947e0bf534b496e2546d181d7d32

Log count of dependencies merged in a recheck Reviewed By: gabelevi Differential Revision: D18795963 fbshipit-source-id: 3099e4972a930d8a0ffef5a18021bfc4f0f091e9

view details

George Zahariev

commit sha ab41e190ba43d905bdede8e6898284c7be3854fc

[enums] If enums option is off, don't introduce new binding, use `any` type Summary: Previously, if `experimental.enums` was not on, we errored at the `EnumDeclaration` site but otherwise continued as usual. Instead, we should not introduce a new binding, and type the enum declaration as `any`. An alternate approach would be to still introduce the binding, but type it as `any`. In any case, it shouldn't be typed as the actual enum. Reviewed By: dsainati1 Differential Revision: D18872836 fbshipit-source-id: c29bbaa700d49eab294c0e4a0fa9b1f923131e86

view details

George Zahariev

commit sha 9951dde755d86bf5b7c135f395f2cca550e6bb0f

[enums] Fix logic around exhaustive checks Summary: First, I move the logic for doing exhaustive checks on enums into its own file, to keep `merge_js.ml` clean. Second, I was previously using `Type_mapper.union_flatten` on the switch discriminant, but this was not exactly what was required (exposed by changing the test from `const x: E = E.A` to `const x = E.A`.i We want to look at possible types. I implement some logic to do what is required (calling `Flow_js.possible_types`, and also avoiding non-required work). Reviewed By: dsainati1 Differential Revision: D18879865 fbshipit-source-id: 3c49a4cdb3e21a78cc7aadc2823303b905b1b53d

view details

George Zahariev

commit sha 931e12baaa396b5192d4ed8074f383c83e58071a

[enums] Improve error messages Summary: - Use `desc` rather than `ref` for primary reasons. This seems to be deduplicated in the CLI output, so I didn't notice it in the tests, but the duplication is visible in Try Flow and potentially other interfaces. - Consistently use periods at the end of error messages. - Improve the langauge around other errors Reviewed By: dsainati1 Differential Revision: D18880177 fbshipit-source-id: fcb0a4fc5b2857edce741ac41bd18ab190a2f953

view details

Gabe Levi

commit sha 7719b02cdf672d15ab815ad1c6a662502d055aa8

Update copyright headers for ml,mli,mll,mly,c,h Summary: We previously only linted `.ml` and `.mli` files. Reviewed By: zertosh Differential Revision: D18887987 fbshipit-source-id: 9fec6d8317fb8e7527181a26fd188884119ee5bb

view details

Gabe Levi

commit sha 5656a224126a9affb606d2f98308db0bd5c9f14e

Add copyright header to .sh files Summary: Probably every file which ends up on GitHub should have a header if possible. This adds headers to our `.sh` files. Reviewed By: zertosh Differential Revision: D18888029 fbshipit-source-id: 12da0e761315b338744fdd274eeeceac9fe3eae9

view details

Gabe Levi

commit sha eed373907faf5c522927c89603931a8939ba76ae

Add copyright header to other files Reviewed By: zertosh Differential Revision: D18888146 fbshipit-source-id: a94374cfb55fc288ec2da3ae148198e951fe4fd0

view details

Nat Mote

commit sha fe5bf27c1906e89a11f66d989b9d4094d26115f0

Cache type_contents results to speed up LSP DefinitionRequest Summary: This creates a cache as part of the persistent connection client info, and uses it to speed up DefinitionRequests coming from an LSP client. `type_contents` is a function of (a) the contents of the file being typechecked, and (b) the stored `SigContext`s in shared memory. Therefore, the cache invalidation strategy is to invalidate the entire cache on a recheck (because it perturbs the `SigContext`s, and is the only thing to do so), and to invalidate the cache for each file whenever that file changes (using the DidChange messages). Storing the cache with the rest of the persistent connection client information makes invalidation fairly straightforward, since any DidChange message can invalidate the cache for that file. We know that the contents used to service persistent requests are only changed when DidChange messages come through. Reviewed By: gabelevi Differential Revision: D18739043 fbshipit-source-id: 62094eb8e36c779c25e77fc832e2c7856c566cf7

view details

Nat Mote

commit sha a042a51684324c36345dddb7be18cd52b109fe70

Use type_contents cache for LSP HoverRequest Summary: Pretty much the same as D18739043, but for hover Reviewed By: gabelevi Differential Revision: D18739039 fbshipit-source-id: 12060d9ea9457642c612b932563e7fc8e98ef8be

view details

push time in 2 months

create barnchmroch/flow

branch : sedlex2

created branch time in 3 months

PR opened facebook/flow

Reviewers
Fix dune after Hack fork
+15 -34918

0 comment

318 changed files

pr created time in 3 months

create barnchmroch/flow

branch : dune_hack

created branch time in 3 months

push eventmroch/flow

Marshall Roch

commit sha cbcd0ce1c1e12f54c03e6e1586f0587f10e17af7

[PR] fix dune Summary: `dune build src/flow.exe` works again Pull Request resolved: https://github.com/facebook/flow/pull/8179 Differential Revision: D18331020 Pulled By: mroch fbshipit-source-id: 3eef13d86e4c053d57a3979484ad22f759abfcc4

view details

Sam Goldman

commit sha 10229738f5100501f95bd318939117ea15115a91

Rename TypeParameterDeclaration/Instantiation to TypeParams/Args Summary: The new names mirror the names we use elsewhere in the codebase. I also renamed various method names in AST mappers / visitors. Generally I prefer the longer type_params and type_args for method/function names and the shorter tparams and targs for variable names and record fields. Again, this reflects the common usage elsewhere. Reviewed By: gabelevi Differential Revision: D18306176 fbshipit-source-id: 34abe31bc99b47eb8ca27ef02b5673f105fce05b

view details

Sam Goldman

commit sha 50ff60d9f1689f8b925e2a259d7da5552f5b6a45

Rename Expression.TypeParameterInstantiation to CallTypeArgs Summary: Again, the rest of the code base calls these type args, or targs for short. These are a bit different from type args in type annotations, since the argument can be implicit. Reviewed By: jbrown215 Differential Revision: D18306175 fbshipit-source-id: 56e221ee4bab8ceb65f0be9a8315f95610deca0c

view details

Sam Goldman

commit sha 185ceef9e644345380106641a2a6e66e0cbb55f0

Extract check_polarity into module Summary: I'm going to make some changes here in stacked diffs. Reviewed By: jbrown215 Differential Revision: D15764673 fbshipit-source-id: 115a178218c7ad01c6d47967fcabd4e0f26eff93

view details

Sam Goldman

commit sha 09921b3b9a86ade748fdb505be48db4c1ae71b84

Flesh out check polarity visitor Summary: This code was a bit of a mess. I spent some time wrapping my head around this, and here's a bunch of cleanup. 1. We're only visiting types that arise from annotations, which means that a bunch of types will never appear. I changed the visitor to raise an exception on these cases, to make it clear they are unexpected, not simply unhandled. I also added some comments to justify potentially unintuitive cases. 2. I changed the patterns to be a bit more future proof. I avoided wildcards in records like objtype and insttype, opting to fully destructure and explicitly ignore fields. 3. I filled out some missing cases exposed by (2). Note that EvalT and CustomFunT types will certainly appear in annotations, but remain TODO even after this diff. In general, I suspect that this logic should instead be interleaved with the code that constructs these types, instead of implementing a separate, carefully constructed visitor. This is not because of the cost of traversing types, which I expect is negligible. Rather, it's evidently subtle to write this visitor correctly, whereas an interleaved logic would more likely be correct by construction. Reviewed By: jbrown215 Differential Revision: D15764671 fbshipit-source-id: 79d5df72bd62cba962615374de34f48a04542795

view details

Jordan Brown

commit sha 45b84a0922795c8fb6b5cb89664939307acce20d

v0.111.3 Reviewed By: mroch Differential Revision: D18332374 fbshipit-source-id: b6ea57977fdac9e600cd1b3055737b025d4a0d2b

view details

Nat Mote

commit sha 114a341fc8fc041514ca340a4b3abf189f7aa591

Rename dependency graph variables to be more accurate under types-first Summary: Previously, we had `dependency_graph` which was the sig dependency graph in types-first, and the implementation dependency graph in classic. `dependency_graph` was also used in some places where the kind of dependency graph didn't matter for the operation, such as most functions in `Pure_dep_graph_operations`. In this diff, I've renamed the uses that refer to the sig dependency graph in types-first to `sig_dependency_graph`. Under classic, the implementation dependency graph is also used as the sig dependency graph. I've left the uses that are agnostic to the kind of dependency graph named `dependency_graph`. We also had the `all_dependency_graph`, which was the implementation dependency graph in both types-first and classic. I think that `implementation_dependency_graph` is a clearer name, so I've changed it as well. Reviewed By: gabelevi Differential Revision: D18330010 fbshipit-source-id: 5d44a67b642e2b2ef4822b19b47536228802dd8c

view details

Mike Vitousek

commit sha 33cacfe286c8f10dd2d2ed325ab42106dda19bf5

[optional-chaining] Create `method_action` type to prepare for optional chain method calls Summary: To support optionally-chained method calls, we will need to handle the case where we look up a method on a receiver and find that it is optional, then "filter out" the nullish components of the type before passing the non-null function to a `CallT`. This work is built in later diffs, but this diff modifies `MethodT` (and relatedly, `CallElemT`) so that instead of containing a `funcalltype` representing the call that the looked-up method will flow to, it contains a new ocaml type called `method_action`. Method actions are currently just `CallM`, which represents the current, non-optional behavior of methods where the looked-up method is directly called. `CallM`s are converted to `CallT`s after methods are looked up. In later dfiffs we will add `ChainM`s, which are converted to `OptionalChainT`s and support optional chain method calls, but this diff just sets up for that. Reviewed By: panagosg7 Differential Revision: D18302024 fbshipit-source-id: 12101d9e5adeff5773c2015210d23bf122af085e

view details

Mike Vitousek

commit sha 12c264e2b5918c1578edd35ae62a176164a1979f

[optional-chaining] Refactor optional chaining helper functions Summary: This is a simple refactoring of the helper functions used by optional chaining. Some behavior has been factored out into separate functions, and will (in upcoming diffs) be called separately. We also thread through a little more info, which will be used for method chains. Reviewed By: panagosg7 Differential Revision: D18302023 fbshipit-source-id: 08ba769e518999c0f399f259d40b488649743768

view details

Mike Vitousek

commit sha eaa2a373d18404165fb6b97aeafcde7006a9730e

[optional-chaining] Optional chaining for methods Summary: This diff builds support for optional method chains. The tricky bit for optional method chains, beyond what is needed for optional chains in general, is that method calls combine both property lookup and function calling into a single flow: `X.method(args)` will generate a flow `X ~> MethodT(method, args)`, which will look up `method` in `X` and then flow the result to `CallT(args)`. With optional chaining, *either* the lookup or the call can be optional, or both. If the call is optional (`X.method?.(args)`), we need to intercede in the logic of `X ~> MethodT` in order to filter out the nullish case for the method type before it is flowed to a `CallT`. The approach this diff takes is to add a `ChainM` method action, which represents optional chain filtering of nullish types before they're called. When a type flows into a `MethodT` with a `ChainM` method action, the method (which may be nullish) is looked up, and then flowed into an `OptionalChainT` representing the optional chaining of the call. The non-nullish components of the method type are then flowed into a `CallT` and the process proceeds as usual. One thing that complicates this story is that `funcalltype`s contain a "this" type, which in method calls is the method's receiver (`X` in `X.method()`). Normally, this can just be generated in statement.ml by getting the type of the target of the method lookup. However, what if this is an optional access, e.g. `X?.method()`? If we naively got the type of `X` here, the "this" type of the `funcalltype` would be `?X` (assuming that `X` is an instance of class `X`). But in the `FunT ~> CallT` flow that eventually occurs, the "this" type of the `funcalltype` will flow into the "this" type of the actual function, which in the case of this method would be `X`. This would result in a type error, and it also doesn't really make sense--in order for us to have even gotten to the function call in the first place, the receiver would have to not be nullish, becuase the optional chain would have already short-circuited if it was null. Instead, this diff delays the binding of the receiver to the `funcalltype`'s "this" type until after the nullish types have been filtered out of it. It does so by adding a little additional bit of logic to optional chaining, by (when necessary) including a tvar in the `OptionalChainT` that takes non-nullish LBs of the optional chain as its LBs--in other words, when nullish types have been filtered away, the rest of the types flow into this tvar in addition to flowing into a use_t as described in the previous diff in this stack. This tvar is used as the "this" type for the `funcalltype`. Most of the work of setting this up happens in statement.ml, and it is a little complicated, needing to look two levels deep into the chain and considering both whether the method lookup and the method call is optional, as well as handling refinements and test hooks etc. I've tried to document it, but I'm happy to write up as much as is needed in any part that is hard to comprehend. Reviewed By: panagosg7 Differential Revision: D18302022 fbshipit-source-id: 5d8abe863beb98268b725d3ea924fdbf00c28c06

view details

Sam Goldman

commit sha cfdcff0363117492c8e5a9211d10cbc70e3b8c64

Clear master cx export maps Summary: We merge these from the master context, but forgot to clear them like we do other parts like the tvar graph and property maps. Reviewed By: panagosg7 Differential Revision: D18129296 fbshipit-source-id: 1020c68d990265698600f19fed22b72955f0246f

view details

Sam Goldman

commit sha 869270755c32a3e5dc4f9b51c96d7e28abf4448d

Type asserts are intermediates Summary: This map is only needed until post-merge, similar to sketchy nulls. Reviewed By: dsainati1 Differential Revision: D18129295 fbshipit-source-id: 9af204c0e675611e51b0a7f157ddc13d8dff8162

view details

Jake Bailey (Hacklang)

commit sha 20da6aea4f7baa392b3ee0b6421a294eaec96e7e

[hack] Replace Core_kernel with Hh_prelude to forbid polymorphic equal in decl and typing Summary: If we are to store decls off of the OCaml heap (via ocamlrep in cachelib), we cannot use polymorphic compare or equality functions, since they will not compare on-heap and off-heap values correctly. After the previous diff, we use monomorphic equality functions in the decl and typing directories, but we are not protected from future regressions. This diff attempts to prevent regressions by replacing instances of `open Core_kernel` with a new module, `Hh_prelude`, which includes `Core_kernel` but shadows `=` and `<>` with a value of type `[ ˋDo_not_use_polymorphic_compare ]`. Reviewed By: 2BitSalute Differential Revision: D17811767 fbshipit-source-id: dda75b426a28e40f0222b63a94384fcd62c8c21b

view details

Jordan Brown

commit sha 9e1d60e96451b8f94e1f3be29ae029fc061ecb32

Suppressions for 0.111 Summary: still some generated files in www that need to land before we can release 0.111 here. drop-conflicts Changelog: [Internal] (Note: this ignores all push blocking failures!) Reviewed By: dsainati1 Differential Revision: D18278838 fbshipit-source-id: b20c3fefb3aab7c5fb614b33d846c7548184f49a

view details

Jordan Brown

commit sha 6b74ea2435452e0e8081fcbb2ca63581ecc85297

[tool] Get rid of accidentally committed logging code Summary: This was added by mistake Reviewed By: dsainati1 Differential Revision: D18342705 fbshipit-source-id: d5d4fcc177ef3a6271712e3244b474d8071b3895

view details

Marshall Roch

commit sha 84b582a17990adddbcb2ef81d5f55f1554d97bba

[parser][easy] tweak [[foo]] property parsing Summary: instead of a comment warning that `[` has already been consumed, actually consume the token there Reviewed By: samwgoldman Differential Revision: D18306825 fbshipit-source-id: 856de9dc3faf7303a3a41d25ca7916c4d51020bf

view details

Vijay Ramamurthy

commit sha 2cec2f85a0cefc5560a126b8788e30e33651f721

[easy] Fix syntax in some tests Summary: I accidentally put extraneous "="s in tests I added in D18103929; this fixes that Reviewed By: gkz Differential Revision: D18352341 fbshipit-source-id: a90ba716268cbcc54454b6cd323c248f54c081bf

view details

Vijay Ramamurthy

commit sha 509ea6770257762ec2d9b611497cf1fbb10d6a4b

Move autocomplete logging logic out of autocompleteService_js Summary: Constructing logging JSONs in `autocompleteService_js` was causing a lot of redundant code and was a poor separation of concerns across modules. This diff moves the JSON construction out to `commandHandler`, a la D18115881 . Cuts down `autocompleteService_js` by about 150 lines. Reviewed By: mroch Differential Revision: D18329768 fbshipit-source-id: d2c5e7ecafbca15c9494d87e9563be6085825a9d

view details

Sam Goldman

commit sha 2360db8c7acd7a283451d2a4fa3cda16eb4ecabd

Ensure abstract locations are 1-1 with concrete locations Summary: The signature builder will sometimes generate ASTs which re-use the same concrete location for different nodes. When this happens, the abstract locations pass will assign different abstract locations to each occurrence of the concrete location. This is fine for the abstract -> concrete conversions which we normally perform, but we also sometimes do a concrete -> abstract conversion using a reverse table. Since we have a bijection, we need to be actually 1-1 and onto. We were already onto, so this adds the additional 1-1 invariant. Reviewed By: nmote Differential Revision: D18354375 fbshipit-source-id: f7a04e21174280a83c35e98ad266e9a3f2c4a489

view details

Sam Goldman

commit sha 172800ffb60fdc29c6b23874f5b6775b75a3914a

Add ALoc.id Summary: Instance types, opaque types, and enums use abstract locations as identifiers. This can lead to errors when checking a file as part of a cycle where a type with an abstract location id can be compared to a concrete location for the same location. We fixed these bugs by adding a `concretize_equal` function, which tries to convert abstract locations to concrete ones before comparison based on a reverse lookup table. In D16469791, dsainati1 had a clever idea to perform an optimistic concrete -> abstract conversion at construction time instead. This diff applies the same idea to the other uses of abstract locations as identifiers. The implementation introduces a private type in the `ALoc` module, which can only be constructed by the `id_of_aloc` function. Thus, `ALoc.id` inhabitants are guaranteed to be equal if they point to the same location. I decided to use a private type instead of an abstract type because these identifiers are frequently used as `ALoc.t` as well, mostly for debugging. This code can use the built-in `:>` coercion instead of (a) providing a `aloc_of_id` function of (b) providing `ALoc.id`-specific version of various functions. My original motivation for this diff is that I wanted to build an `ALocMap` in the context to store some information, but I ran into the issue where two equivalent identifiers were not considered equal, due to the representation issue described above. Reviewed By: nmote Differential Revision: D18354373 fbshipit-source-id: bc45a18cac997e898a12838d5319b42ac10b41ea

view details

push time in 3 months

issue commentfacebook/flow

Incorrrect link in "Creating Library Definitions" page

it's probably supposed to be https://flow.org/en/docs/declarations/

ivanosevitch

comment created time in 3 months

PR closed facebook/flow

Lll CLA Signed

<!-- If this is a change to library defintions, please include links to relevant documentation. If this is a documentation change, please prefix the title with [DOCS].

If this is neither, ensure you opened a discussion issue and link it in the PR description. -->

+60 -0

3 comments

5 changed files

justin3687

pr closed time in 3 months

pull request commentfacebook/flow

Lll

what is this?

justin3687

comment created time in 3 months

pull request commentHomebrew/homebrew-core

flow 0.111.3

should be good now

flow-bot

comment created time in 4 months

push eventflow-bot/homebrew-core

Bo Anderson

commit sha 4d7126b7a8afe507b24f4418b41481a73bf4f13b

mariadb@10.0: delete due to EOL (#46338)

view details

Bo Anderson

commit sha fcda0b0640e9b646f4b83199c58727d5c8d8412e

mysql@5.6: move to OpenSSL 1.1 Closes #46355. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 90381ee4dca2a8e135784d194dd4d0f441cdbaf1

mysql@5.6: update 5.6.46_1 bottle.

view details

Bo Anderson

commit sha 5932b0c4b37545fc038da46b2aa407859f5ec369

mysql-connector-c++ 8.0.18 Closes #46360. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 3be148405319290b15789886386d978ca9240fe7

mysql-connector-c++: update 8.0.18 bottle.

view details

Caleb Xu

commit sha c0017cb9a98176e27916ce8c22d577946a7818a0

libtommath 1.2.0 Closes #46291. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 2afe2503321c4473467913091711dad3fe55d3dd

libtommath: update 1.2.0 bottle.

view details

Caleb Xu

commit sha 2a367ae6a42261a3e910c646e3b8dedd7ea8a834

parallel 20191022 Closes #46358. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha a8f801fa2e52c84e800bc9ee27aa03b51e0bbf8e

parallel: update 20191022 bottle.

view details

Caleb Xu

commit sha b2d8d75aedea9444cb7a7868b51e6f2e71195dda

openrct2 0.2.4 Closes #46356. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 41537671fc07168e4d351cdfa73964ec2d244df1

openrct2: update 0.2.4 bottle.

view details

Caleb Xu

commit sha c9507edced20543a1947698df1c29ac09862c4a4

openimageio 2.0.12 Closes #46353. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha ca1095b1162ada49c53f98764af0d71b749795e1

openimageio: update 2.0.12 bottle.

view details

Caleb Xu

commit sha 7f1a98734e7f2591c7ae857465eb768e35e2b216

nuget 5.3.1 Closes #46352. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

Rui Chen

commit sha e0f4b4b147fa56a51f15ba5e21f38fcfd1673c5c

sonobuoy 0.16.3 Closes #46350. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 575cba57977ccd375612a6198a9bd4cc11cbbe0f

sonobuoy: update 0.16.3 bottle.

view details

Caleb Xu

commit sha fdf9382d406d3426a61e28fbaf1279dc939f1b2f

mpg123 1.25.13 Closes #46348. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha fe82783e0e07b5e06a92a5bb4d83ea7388799cf0

mpg123: update 1.25.13 bottle.

view details

Caleb Xu

commit sha 73700bd9cf6c08ee2213c274b42c786fbf7aa649

mkvtoolnix 39.0.0 Closes #46347. Signed-off-by: FX Coudert <fxcoudert@gmail.com>

view details

BrewTestBot

commit sha 75fe826fd307e17d453b8224cf4f3b47a77bac81

mkvtoolnix: update 39.0.0 bottle.

view details

push time in 4 months

push eventflow-bot/homebrew-core

Rui Chen

commit sha fc46c6d701bbe670b0db3e874529fec4292959c7

teleport 4.1.3 Closes #45784. Signed-off-by: Caleb Xu <calebcenter@live.com>

view details

BrewTestBot

commit sha ed892feae4cdc0747dce0b3fdc50b6deff1c441a

teleport: update 4.1.3 bottle.

view details

Tom Schoonjans

commit sha 93d5b2a79a57744a395f3d3c113e0e4737f3f1dd

pango 1.44.7 Closes #45791. Signed-off-by: Caleb Xu <calebcenter@live.com>

view details

BrewTestBot

commit sha 1bab721038eb70936c9e1df17ed19eccf86aa88a

pango: update 1.44.7 bottle.

view details

Andy Li

commit sha 63abaa02a1fb5cde132c7c0c4370117003f9c298

neko 2.3.0 Closes #45793. Signed-off-by: Caleb Xu <calebcenter@live.com>

view details

BrewTestBot

commit sha 55a5656de3509d22982d72b96e9a90949589d3b8

neko: update 2.3.0 bottle.

view details

Damien Calesse

commit sha aa9fe47c3ea62e73360144d195c37c61f2c16e53

php@7.1 7.1.33 Closes #45794. Signed-off-by: Caleb Xu <calebcenter@live.com>

view details

BrewTestBot

commit sha 5afd75d0216cdf66bdcadd1b101757260f4a3cef

php@7.1: update 7.1.33 bottle.

view details

Damien Calesse

commit sha c01eb6dee3b794b448b94cd12758d0b53be98f4c

php@7.2 7.2.24 Closes #45795. Signed-off-by: Caleb Xu <calebcenter@live.com>

view details

BrewTestBot

commit sha deb8bf1a7af8987f990b0214085cabe27638206a

php@7.2: update 7.2.24 bottle.

view details

Jaan Jänesmäe

commit sha e63f1c706aed3e965c229435c55dd0226fe541e7

jetty 9.4.22.v20191022 (#45792)

view details

Caleb Xu

commit sha 97af269e7db16c34a244fc281d2bcaa944cf7a1c

arp-scan 1.9.6 Closes #45798. Signed-off-by: Rui Chen <rchen@meetup.com>

view details

BrewTestBot

commit sha ae2f00d8894139c1189059bb941453377b4ac59a

arp-scan: update 1.9.6 bottle.

view details

Caleb Xu

commit sha 63cd35e89ee2a2eea55a3e61ceb91d37dd4a5f3c

calcurse 4.5.1 Closes #45799. Signed-off-by: Rui Chen <rchen@meetup.com>

view details

BrewTestBot

commit sha 040ffb75a6a1ffae71ce09551d56b8ce4e2519a6

calcurse: update 4.5.1 bottle.

view details

Caleb Xu

commit sha 980eae1fc951fa8d265b02c88243ef26ed7e8707

ccache 3.7.5 Closes #45800. Signed-off-by: Rui Chen <rchen@meetup.com>

view details

BrewTestBot

commit sha 505af7719bee592114003b9bd924d603bfa28ed7

ccache: update 3.7.5 bottle.

view details

Caleb Xu

commit sha df6bab4f694f8fb13b864a438d6d6373497c6913

certbot 0.39.0 Closes #45801. Signed-off-by: Rui Chen <rchen@meetup.com>

view details

BrewTestBot

commit sha df7df4218f774de8d607d01770337aed958c4937

certbot: update 0.39.0 bottle.

view details

Caleb Xu

commit sha 18a5ef9850ffe03c9dd33cff602efdb49b4d4390

check 0.13.0 Closes #45802. Signed-off-by: Rui Chen <rchen@meetup.com>

view details

push time in 4 months

pull request commentHomebrew/homebrew-core

flow 0.111.3

I think if you reopen it i can resolve the conflict. Sorry about that!

flow-bot

comment created time in 4 months

PR opened facebook/flow

fix dune

dune build src/flow.exe works again

+1 -0

0 comment

1 changed file

pr created time in 4 months

create barnchmroch/flow

branch : dune_fix

created branch time in 4 months

push eventmroch/flow

Jordan Brown

commit sha 311c088488dc077d474f193887fcd9796c46def8

[hashing] Use full ALoc instead of hashes for pmap_ids Summary: There is a small chance that two locs can hash to the same value. In that case, we might get conflicting pmap_ids and non-sensical error messages. Reviewed By: avikchaudhuri Differential Revision: D17079058 fbshipit-source-id: 8f422d921a287d594b0accbe5c52fc665de622f8

view details

Gabe Levi

commit sha a1cb0d2e587525a8c0ade30a58c39b00a303454e

v0.106.3 Reviewed By: jbrown215 Differential Revision: D17114108 fbshipit-source-id: 1626854990730bc62af9fa95ac44bccc36d6179f

view details

George Zahariev

commit sha c7062e9ae0ac9bce43e8592e56186c58709513bd

[enums] Parse exporting enums Summary: Adds support for: ``` export enum A {} ``` and ``` export default enum A {} ``` Reviewed By: gabelevi Differential Revision: D17105742 fbshipit-source-id: a1a7140fb9be6d896de8c0dea2c3abd93904cf30

view details

Ted Spence

commit sha 3fb6b51926150993872e7e1e882197fa1790e947

[hack] Move expand_namespace to Utils.ml Summary: Let's standardize the behavior of expanding namespaces using the namespace alias map. * Take the existing function in serverSignatureHelp.ml and move it into Utils.ml * Redo the function so it no longer has a dependency on ServerEnv * Make an alias under ServerEnv so that it's easy to call as long as you have a ServerEnv available * Add a set of unit tests so we can prove it's working the way we want Reviewed By: jewelpit Differential Revision: D17084358 fbshipit-source-id: cfc89b9b35aa9129a8116c62ecce52f57ee1364a

view details

Paul O'Shannessy

commit sha 7c6e6071d7efec2efbc7789d1fc9eb8697af8638

Adopt Contributor Covenant Summary: In order to foster healthy open source communities, we're adopting the [Contributor Covenant](https://www.contributor-covenant.org/). It has been built by open source community members and represents a shared understanding of what is expected from a healthy community. Reviewed By: josephsavona, danobi, rdzhabarov Differential Revision: D17104640 fbshipit-source-id: d210000de686c5f0d97d602b50472d5869bc6a49

view details

Avik Chaudhuri

commit sha fb134e59168e00a4b94b0db8f417371093f6d1c0

error improvements for annotations with evaluation Summary: Repositioning is often used just to set `annot_loc`. Setting `annot_loc` is important because references in rendered errors prefer `annot_loc` over `def_loc` over `loc`. In particular, we try to be careful about making tvars inside AnnotT have some `annot_loc`. We missed a case where `AnnotT` can flow to a `TypeDestructorTrigger` on the way to `eval_destructor`. Reviewed By: panagosg7 Differential Revision: D16979430 fbshipit-source-id: c610b338eaf2fc714b5bbb2c0d202fa30f48ec87

view details

Avik Chaudhuri

commit sha f5ff755d6440b5db7b2882082e93f6fcbffcbcc2

fix unexpected internal type exception Summary: Internal types are not supposed to become use types, and violating this leads to an assertion failure. Unfortunately internal types can hit `AnnotT`, which wraps them in a `ReposUseT`, which can then be exposed as use types in a rule involving `MergedT`. But `MergedT` (1) cannot arise in types-first and (2) without types-first, can hit `ReposUseT` leading to a no-op at best (flowing a type to a repositioned version of itself) and a crash because of the above problem at worst. So this diff deletes the `MergedT ~> ReposUseT` rule (until we delete `MergedT` completely). Reviewed By: panagosg7 Differential Revision: D17084689 fbshipit-source-id: f67f6f6760f1e259e2b8f736101bfc09037fd7ec

view details

Avik Chaudhuri

commit sha aec84d9f18b4b828d2e7583ecf01086a5736cc58

ShapeT should be compatible with ExactT Summary: Compatibility rules for `ShapeT` as lower bounds are currently very loose: `ShapeT(o)` can be used however `o` can be used. However, because the compatibility rules for `ExactT` currently precede those for `ShapeT` in our implementation, and because `ExactT` errors using a wildcard, `ShapeT` is currently incompatible with `ExactT`. This does not appear to be by design. For example, if a `ShapeT` flows to a `ExactT` through a `ReposLowerT`, there is currently no error. Therefore this diff makes `ShapeT` explicitly compatible with `ExactT`. In the future, we might harden `ShapeT` but that's a big project. Reviewed By: panagosg7 Differential Revision: D17089642 fbshipit-source-id: 381cfcaba8736e21cb71f9e3ccda64a0f97a772d

view details

Avik Chaudhuri

commit sha 5080477b116c0d03020356a613214c30e8b78f7e

remove funky repositioning of arguments to parameters Summary: No need to reposition arguments to parameters in function calls. Use ops are good enough. Bonus: removed a piece of hacky code (and the comment that called it out). Reviewed By: panagosg7 Differential Revision: D16979479 fbshipit-source-id: cea2613e0f9c5fb5b5245e646ae093f5fd88528d

view details

Avik Chaudhuri

commit sha 01d5908e9521052fa8dc0c3d2a7bbeb88cfb90d1

add explicit flag to replace_reason_const calls (part 1) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054199 fbshipit-source-id: 8594a717a2b4c563ab6754aa54eb89bc37a20739

view details

Avik Chaudhuri

commit sha 85419e18939e1338bb917a66ade6211fcc783bb5

add explicit flag to replace_reason_const calls (part 2) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054203 fbshipit-source-id: 07ec18de9a3456c67c729910216ad8ec9eba7f84

view details

Avik Chaudhuri

commit sha 7f4a8152ce3275a741ffe15f82bd52da364a4026

add explicit flag to replace_reason_const calls (part 3) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054208 fbshipit-source-id: 3655ca0480e5bfebf555ea98450672cef97190ed

view details

Avik Chaudhuri

commit sha a615096c931ec4607cb11244fb8cf357cc4df54e

add explicit flag to replace_reason_const calls (part 4) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054214 fbshipit-source-id: b01f2cc87ba213bba9e17bf48d809e565085b249

view details

Avik Chaudhuri

commit sha 98ce29d6b88c686fa778fd91d639f17991e93b3c

add explicit flag to replace_reason_const calls (part 5) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054219 fbshipit-source-id: 7869825c82ba43d8318257dfe6e55e5f8a278636

view details

Avik Chaudhuri

commit sha 3d616a8288a1c51fbf6157be1fa7783bea52cbab

add explicit flag to replace_reason_const calls (part 6) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054222 fbshipit-source-id: a4491062ca01bd7c09428af308ebd21b5d5f675c

view details

Avik Chaudhuri

commit sha 1b689ab0baa995e42f3e532cafe0c674d5a7957e

add explicit flag to replace_reason_const calls (part 7) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054224 fbshipit-source-id: 97f8a86b26276d96b5d836860fd4bcf7a83894cf

view details

Avik Chaudhuri

commit sha 45bbdcb16acfef799e173b6ac6b3cc2bcaa942e9

add explicit flag to replace_reason_const calls (part 8) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054226 fbshipit-source-id: 557171974a90a24f95c4a86ba3172f926a919880

view details

Avik Chaudhuri

commit sha 494e4ef879f470005973b9ec7fde3ee6ec624433

add explicit flag to replace_reason_const calls (part 9) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054235 fbshipit-source-id: e9fe10d9abba0aaf9f68bb53615cbc0fee33b57a

view details

Avik Chaudhuri

commit sha 59488c55bdfbbfaf2197ee3b33d4fcb141df5d14

add explicit flag to replace_reason_const calls (part 10) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054239 fbshipit-source-id: c0f3dc6024dacd1490959d71556d827987ae04a4

view details

Avik Chaudhuri

commit sha e62b2066a07cc8ef3dcd0b3eea54a5e21d370ba1

add explicit flag to replace_reason_const calls (part 11) Summary: `def_loc` would be dropped by default when replacing descriptions. I want to make it such that either `def_loc` and `annot_loc` are preserved (indicating some sort of derived reason), or they are explicitly dropped (indicating a new reason). APIs will be renamed later. Reviewed By: panagosg7 Differential Revision: D17054243 fbshipit-source-id: f1cc68416fc01e18ae1fcfaad5d40cdb59513315

view details

push time in 4 months

issue commentmicrosoft/language-server-protocol

Support that server can request a restart from the client.

here's a scenario we're running into with Flow: you can pin your project to a specific version of flow by depending on that version of flow-bin in package.json. when the version changes, the LSP server (flow lsp) exits so that the correct version can be restarted. it turns out that it's pretty easy to check out 5 commits within 3 minutes that jump back and forth across one of these version bump commits (say, rebasing a bunch of branches).

alternatively, maybe the server could exit with a particular exit code, like EX_TEMPFAIL (75):

/*
 *	EX_TEMPFAIL -- temporary failure, indicating something that
 *		is not really an error.  In sendmail, this means
 *		that a mailer (e.g.) could not create a connection,
 *		and the request should be reattempted later.
 */
#define EX_TEMPFAIL	75	/* temp failure; user is invited to retry */

https://github.com/freebsd/freebsd/blob/0e869b7d7edf75ff2ef47f2dbebdabadfb216ff2/include/sysexits.h#L84-L87

dbaeumer

comment created time in 4 months

more