{"push_id":701270106,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"a78c6694ea1eb39f384986aa54f5966b113337c9","before":"f48223108939a9b174ddf10dd043e832bc71e193","commits":[{"sha":"86760357204227b10b86c461def82598f657ea8e","author":{"email":"b8eeaacbfbefa77cd4cb0a961f265cafd2a8213e@fb.com","name":"Guilherme Ottoni"},"message":"Use guard-failure block for boxed types in checkTypeStack\n\nSummary: It looks like this code got shuffled some time ago and it wasn't using\nthe guard-failure block if we had one.\n\nReviewed By: @swtaarrs\n\nDifferential Revision: D2172867","distinct":true,"url":"https://api.github.com/repos/preillyme/hiphop-php/commits/86760357204227b10b86c461def82598f657ea8e"},{"sha":"a78c6694ea1eb39f384986aa54f5966b113337c9","author":{"email":"43293424662417ef47778d90f514540cf7a51fae@fb.com","name":"Kasper Kopec"},"message":"Standard library for shapes - runtime support\n\nSummary: Shapes are integral part of the language, but they are missing even basic support in standard library - in runtime, the array functions work with them (since they are arrays under the hood), but if those array functions are typed in .hhi files (as taking array, KeyedContainer, Indexish, etc.) the typechecker will balk because there is no implicit subtyping relation between shapes and arrays (by design).\n\nThey also can't be implemented in user space, because we are missing a way to express things like \"this function accesses shape field\" using type hints.\n\nWe could invent a completely new notations to express it, but since shapes are relatively simple features - you can basically only set, access or unset a field - we decided to start by hardcoding a handful of those functions in the typechecker in the form of Shapes class, mimicking helper functions in Vectors, Sets etc. - see {D2116812} for example. I make it auto imported in hh files because we plan to consider them a part of the language now. In particular, {D2094934} introduces an error message forbidding accessing optional fields in any other way than using functions from this class.\n\nIn runtime they are implemented as simple wrappers around array functions.\n\nReviewed By: @jwatzman\n\nDifferential Revision: D2154441","distinct":true,"url":"https://api.github.com/repos/preillyme/hiphop-php/commits/a78c6694ea1eb39f384986aa54f5966b113337c9"}]}