Created
November 13, 2020 22:51
-
-
Save jjergus/ccae9b42ffb39b6847b2ad6ec4fbe5c5 to your computer and use it in GitHub Desktop.
build-old-vs-new.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -ur build-old/final/build_id.txt build-final2/final/build_id.txt | |
--- build-old/final/build_id.txt 2020-11-13 12:41:51.389101524 -0800 | |
+++ build-final2/final/build_id.txt 2020-11-13 14:30:18.697239577 -0800 | |
@@ -1 +1 @@ | |
-HHVM=HHVM-4.83.0:HSL=v4.41.0:2020-11-13T12:41:00-0800:1fa47f258c6b68f8ec01899aa82fd6ffa0957109 | |
+HHVM=HHVM-4.83.0:HSL=v4.41.0:2020-11-13T14:25:10-0800:1fa47f258c6b68f8ec01899aa82fd6ffa0957109 | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/examples.html build-final2/final/guides-html/hack/asynchronous-operations/examples.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/examples.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/examples.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -143,9 +143,9 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>YAFZCOPXWHNMIQUJLGRTVBEKSD 40 | |
-XGBLREYOWSMCDVUTZJQPHKAFIN 39 | |
-FBZIUYGQROKMVASLCTWNPDHEJX 39 | |
+<pre><code>KSZQPTMFREIULGHXDNOCYVBJAW 11 | |
+EWCMHAOGDBTKSZQPJURVILYNXF 13 | |
+DXAOPBRWUFHQLKYZNMSGCJIVET 45 | |
</code></pre> | |
</div> | |
<h2 class="headingWithAnchor" id="batching">Batching<a href="#batching"><i class="glyphIcon fa fa-link"></i></a></h2> | |
@@ -214,8 +214,8 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>EADBFC | |
-ABECDF | |
+<pre><code>FDCEAB | |
+DFCBAE | |
</code></pre> | |
</div> | |
<h2 class="headingWithAnchor" id="polling">Polling<a href="#polling"><i class="glyphIcon fa fa-link"></i></a></h2> | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/exceptions.html build-final2/final/guides-html/hack/asynchronous-operations/exceptions.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/exceptions.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/exceptions.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -27,11 +27,11 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: Uncaught exception 'Exception' with message 'Return exception handle' in /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/basic-exception.php:6 | |
+<pre><code>Fatal error: Uncaught exception 'Exception' with message 'Return exception handle' in /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/basic-exception.php:6 | |
Stack trace: | |
-#0 /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/basic-exception.php(14): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\BasicException\exception_thrower() | |
-#1 /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/basic-exception.php(19): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\BasicException\basic_exception() | |
-#2 (): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\BasicException\main() | |
+#0 /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/basic-exception.php(14): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\BasicException\exception_thrower() | |
+#1 /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/basic-exception.php(21): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\BasicException\basic_exception() | |
+#2 (): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\BasicException\main() | |
#3 {main} | |
</code></pre> | |
</div> | |
@@ -62,11 +62,11 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: Uncaught exception 'Exception' with message 'Return exception handle' in /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php:7 | |
+<pre><code>Fatal error: Uncaught exception 'Exception' with message 'Return exception handle' in /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php:8 | |
Stack trace: | |
-#0 /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php(15): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\MultipleAwaitable\exception_thrower() | |
-#1 /home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php(24): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\MultipleAwaitable\multiple_waithandle_exception() | |
-#2 (): Hack\UserDocumentation\AsyncOps\Exceptions\Examples\MultipleAwaitable\main() | |
+#0 /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php(16): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\MultipleAwaitableException\exception_thrower() | |
+#1 /home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/multiple-awaitable-exception.php(27): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\MultipleAwaitableException\multiple_waithandle_exception() | |
+#2 (): HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\MultipleAwaitableException\main() | |
#3 {main} | |
</code></pre> | |
</div> | |
@@ -114,9 +114,9 @@ | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
<pre><code>vec(2) { | |
- object(HH\Asio\WrappedException)#5 (1) { | |
+ object(HH\Asio\WrappedException) (1) { | |
["exception":"HH\Asio\WrappedException":private]=> | |
- object(Exception)#3 (8) { | |
+ object(Exception) (8) { | |
["message":protected]=> | |
string(0) "" | |
["string":"Exception":private]=> | |
@@ -124,33 +124,30 @@ | |
["code":protected]=> | |
int(0) | |
["file":protected]=> | |
- string(128) "/home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
+ string(128) "/home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
["line":protected]=> | |
- int(9) | |
+ int(8) | |
["trace":"Exception":private]=> | |
- array(3) { | |
- [0]=> | |
- array(3) { | |
+ varray(3) { | |
+ darray(3) { | |
["file"]=> | |
- string(128) "/home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
+ string(128) "/home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
["line"]=> | |
int(17) | |
["function"]=> | |
- string(78) "Hack\UserDocumentation\AsyncOps\Exceptions\Examples\Wrapping\exception_thrower" | |
+ string(105) "HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\WrappingExceptions\exception_thrower" | |
} | |
- [1]=> | |
- array(3) { | |
+ darray(3) { | |
["file"]=> | |
- string(128) "/home/ubuntu/user-documentation-2018-09-07/guides/hack/09-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
+ string(128) "/home/example/user-documentation/guides/hack/15-asynchronous-operations/10-exceptions-examples/wrapping-exceptions.php" | |
["line"]=> | |
- int(27) | |
+ int(30) | |
["function"]=> | |
- string(80) "Hack\UserDocumentation\AsyncOps\Exceptions\Examples\Wrapping\wrapping_exceptions" | |
+ string(107) "HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\WrappingExceptions\wrapping_exceptions" | |
} | |
- [2]=> | |
- array(1) { | |
+ darray(1) { | |
["function"]=> | |
- string(65) "Hack\UserDocumentation\AsyncOps\Exceptions\Examples\Wrapping\main" | |
+ string(92) "HHVM\UserDocumentation\Guides\Hack\AsynchronousOperations\Exceptions\WrappingExceptions\main" | |
} | |
} | |
["previous":"Exception":private]=> | |
@@ -159,7 +156,7 @@ | |
NULL | |
} | |
} | |
- object(HH\Asio\WrappedResult)#8 (1) { | |
+ object(HH\Asio\WrappedResult) (1) { | |
["result":"HH\Asio\WrappedResult":private]=> | |
int(2) | |
} | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/extensions.html build-final2/final/guides-html/hack/asynchronous-operations/extensions.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/extensions.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/extensions.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -278,8 +278,8 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>CFEADB | |
-EDBACF | |
-CBDEFA | |
+<pre><code>AEDFBC | |
+ECDABF | |
+BFACDE | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/generators.html build-final2/final/guides-html/hack/asynchronous-operations/generators.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/generators.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/generators.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -107,19 +107,19 @@ | |
} | |
varray(2) { | |
int(1) | |
- string(7) "GACFBDE" | |
+ string(7) "CAFBDEG" | |
} | |
varray(2) { | |
int(2) | |
- string(7) "DEBGACF" | |
+ string(7) "DFBECGA" | |
} | |
varray(2) { | |
int(3) | |
- string(7) "CEBAFDG" | |
+ string(7) "AEDBFCG" | |
} | |
varray(2) { | |
int(4) | |
- string(7) "BGDFAEC" | |
+ string(7) "CFEBADG" | |
} | |
</code></pre> | |
</div> | |
@@ -182,11 +182,11 @@ | |
} | |
varray(2) { | |
int(1) | |
- string(7) "FGEBDAC" | |
+ string(7) "BADGCFE" | |
} | |
varray(2) { | |
int(2) | |
- string(7) "CBEAFGD" | |
+ string(7) "EACDGFB" | |
} | |
string(15) "Id of 3 is bad!" | |
varray(2) { | |
@@ -195,7 +195,7 @@ | |
} | |
varray(2) { | |
int(4) | |
- string(7) "GFDCABE" | |
+ string(7) "BGACFED" | |
} | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/guidelines.html build-final2/final/guides-html/hack/asynchronous-operations/guidelines.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/guidelines.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/guidelines.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -91,7 +91,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>string(13) "FIBDHGEACJ332" | |
+<pre><code>string(13) "IFCJAHBDEG332" | |
</code></pre> | |
</div> | |
<p>In the above example, the loop is doing two things:</p> | |
@@ -122,9 +122,7 @@ | |
async function load_users_no_loop(vec<int> $ids): Awaitable<vec<User>> { | |
return await Vec\map_async( | |
$ids, | |
- fun( | |
- '\Hack\UserDocumentation\AsyncOps\Guidelines\Examples\AwaitNoLoop\load_user', | |
- ), | |
+ async $id ==> await load_user($id), | |
); | |
} | |
@@ -138,7 +136,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>string(13) "EHDGACJIBF332" | |
+<pre><code>string(13) "EDIJHAFBGC332" | |
</code></pre> | |
</div> | |
<h2 class="headingWithAnchor" id="considering-data-dependencies-is-important">Considering Data Dependencies Is Important<a href="#considering-data-dependencies-is-important"><i class="glyphIcon fa fa-link"></i></a></h2> | |
@@ -222,9 +220,9 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>AHSBKVUJNLMCORTFIZPYXWQGED 17 | |
-IKWBJVZORHCPFLNEAYSGUQDTMX 39 | |
-BXRUAQLYPNOHMWJEVTFSDZIGCK 0 | |
+<pre><code>SEDNYXIJVPULFQTKRGMOCHZWBA 34 | |
+CEJLTRAMUKOPDYBVSZNWHQXIFG 3 | |
+CEPQVAYHKNTXWMLBDGOIUJFZSR 46 | |
</code></pre> | |
</div> | |
<p>The above example follows our flow:</p> | |
@@ -300,8 +298,8 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>FDECAB | |
-FEACBD | |
+<pre><code>FBDECA | |
+FDAECB | |
</code></pre> | |
</div> | |
<p>In the example above, we reduce the number of roundtrips to the server containing the data information to two by batching the first lookup | |
@@ -465,7 +463,10 @@ | |
with the <a href="utility-functions">async utility helpers</a>. For example, look how the following three ways to accomplish the same thing can be | |
shortened using lambdas.</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">async function fourth_root(num $n): Awaitable<float> { | |
+<pre><code class="language-PHP">namespace Hack\UserDocumentation\AsyncOps\Guidelines\Examples\Lambdas; | |
+use namespace HH\Lib\Vec; | |
+ | |
+async function fourth_root(num $n): Awaitable<float> { | |
return \sqrt(\sqrt((float)$n)); | |
} | |
diff -ur build-old/final/guides-html/hack/asynchronous-operations/some-basics.html build-final2/final/guides-html/hack/asynchronous-operations/some-basics.html | |
--- build-old/final/guides-html/hack/asynchronous-operations/some-basics.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/asynchronous-operations/some-basics.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -111,7 +111,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Total time taken: 1.050155878067 seconds | |
+<pre><code>Total time taken: 0.11836791038513 seconds | |
</code></pre> | |
</div> | |
<p>In the example above, the call to <code>curl_exec</code> in <code>curl_A</code> is blocking any other processing. Thus, even though <code>curl_B</code> is an independent call | |
@@ -144,7 +144,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Total time taken: 0.74790596961975 seconds | |
+<pre><code>Total time taken: 0.083731889724731 seconds | |
</code></pre> | |
</div> | |
<p>The async version allows the scheduler to run other code while waiting for a response from cURL. The most likely behavior is that as we're | |
diff -ur build-old/final/guides-html/hack/attributes/predefined-attributes.html build-final2/final/guides-html/hack/attributes/predefined-attributes.html | |
--- build-old/final/guides-html/hack/attributes/predefined-attributes.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/attributes/predefined-attributes.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -234,8 +234,8 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Hack\UserDocumentation\Attributes\__MockClass\Examples\MockClass\MockFinalClass::f | |
-Hack\UserDocumentation\Attributes\__MockClass\Examples\MockClass\FinalClass::f | |
+<pre><code>HHVM\UserDocumentation\Guides\Hack\Attributes\PredefinedAttributes\Mock\MockFinalClass::f | |
+HHVM\UserDocumentation\Guides\Hack\Attributes\PredefinedAttributes\Mock\FinalClass::f | |
</code></pre> | |
</div> | |
<p>Mock classes <em>cannot</em> extend types <code>vec</code>, <code>dict</code>, and <code>keyset</code>, or the Hack legacy types <a href="/hack/reference/class/HH.Vector/"><code>Vector</code></a>, <a href="/hack/reference/class/HH.Map/"><code>Map</code></a>, and <a href="/hack/reference/class/HH.Set/"><code>Set</code></a>.</p> | |
diff -ur build-old/final/guides-html/hack/built-in-types/darray-varray-runtime-options.html build-final2/final/guides-html/hack/built-in-types/darray-varray-runtime-options.html | |
--- build-old/final/guides-html/hack/built-in-types/darray-varray-runtime-options.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/built-in-types/darray-varray-runtime-options.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -177,9 +177,9 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Notice: Hack Array Compat: dict is shape in /Users/fredemmott/code/user-documentation/guides/hack/11-built-in-types/56-darray-varray-runtime-options-examples/hack_arr_is_shape_tuple_notices.php on line 7 | |
+<pre><code>Notice: Hack Array Compat: dict is shape in /home/example/user-documentation/guides/hack/11-built-in-types/56-darray-varray-runtime-options-examples/hack_arr_is_shape_tuple_notices.php on line 9 | |
-Notice: Hack Array Compat: vec is tuple in /Users/fredemmott/code/user-documentation/guides/hack/11-built-in-types/56-darray-varray-runtime-options-examples/hack_arr_is_shape_tuple_notices.php on line 8 | |
+Notice: Hack Array Compat: vec is tuple in /home/example/user-documentation/guides/hack/11-built-in-types/56-darray-varray-runtime-options-examples/hack_arr_is_shape_tuple_notices.php on line 10 | |
</code></pre> | |
</div> | |
<h2 class="headingWithAnchor" id="check-array-key-cast">Check array key cast<a href="#check-array-key-cast"><i class="glyphIcon fa fa-link"></i></a></h2> | |
diff -ur build-old/final/guides-html/hack/built-in-types/dynamic.html build-final2/final/guides-html/hack/built-in-types/dynamic.html | |
--- build-old/final/guides-html/hack/built-in-types/dynamic.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/built-in-types/dynamic.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -57,7 +57,7 @@ | |
</code></pre> | |
</div> | |
<p>Unions with dynamic are also allowed to coerce to enforceable types provided that each element of the union can coerce.</p> | |
-<div class="highlight fbgfm source-language-hack"> | |
+<div class="highlight fbgfm source-language-Hack"> | |
<pre><code class="language-PHP"><?hh | |
function expect_int(int $i): void {} | |
@@ -77,14 +77,4 @@ | |
} | |
</code></pre> | |
</div> | |
-<em>Typechecker output</em> | |
-<div class="highlight fbgfm"> | |
-<pre><code>File "/home/example/coercion_from_union.php", line 16, characters 17-18: | |
-Invalid argument (Typing[4110]) | |
-File "/home/example/coercion_from_union.php", line 4, characters 24-29: | |
-Expected `string` | |
-File "/home/example/coercion_from_union.php", line 6, characters 38-40: | |
-But got `int` | |
-</code></pre> | |
-</div> | |
<p>Notably, unlike subtyping, coercion is <em>not</em> transitive, meaning that <code>int ~> dynamic</code> and <code>dynamic ~> string</code> does not imply that <code>int ~> string</code>.</p> | |
diff -ur build-old/final/guides-html/hack/built-in-types/enumerated-types.html build-final2/final/guides-html/hack/built-in-types/enumerated-types.html | |
--- build-old/final/guides-html/hack/built-in-types/enumerated-types.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/built-in-types/enumerated-types.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -83,22 +83,16 @@ | |
<p>All enumerated types behave as if they contain a set of public static methods.</p> | |
<p>Here is an example that uses several of these methods:</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">use Hack\UserDocumentation\Types\Enums\Examples\Positions\Position as Position; | |
- | |
-<<__EntryPoint>> | |
-function main(): void { | |
- require_once("Positions.inc.php"); | |
- $names = Position::getNames(); | |
- echo " Position::getNames() ---\n"; | |
- foreach ($names as $key => $value) { | |
- echo "\tkey >$key< has value >$value<\n"; | |
- } | |
+<pre><code class="language-PHP">$names = Position::getNames(); | |
+echo " Position::getNames() ---\n"; | |
+foreach ($names as $key => $value) { | |
+ echo "\tkey >$key< has value >$value<\n"; | |
+} | |
- $values = Position::getValues(); | |
- echo "Position::getValues() ---\n"; | |
- foreach ($values as $key => $value) { | |
- echo "\tkey >$key< has value >$value<\n"; | |
- } | |
+$values = Position::getValues(); | |
+echo "Position::getValues() ---\n"; | |
+foreach ($values as $key => $value) { | |
+ echo "\tkey >$key< has value >$value<\n"; | |
} | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/built-in-types/nothing.html build-final2/final/guides-html/hack/built-in-types/nothing.html | |
--- build-old/final/guides-html/hack/built-in-types/nothing.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/built-in-types/nothing.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -76,10 +76,10 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: Uncaught Error: NOT IMPLEMENTED: `undefined` can not be produced. in /path/to/undefined.hack:8 | |
+<pre><code>Fatal error: Uncaught Error: NOT IMPLEMENTED: `undefined` can not be produced. in /home/example/user-documentation/guides/hack/11-built-in-types/74-nothing-examples/undefined.php:8 | |
Stack trace: | |
-#0 /path/to/using-undefined.hack(29): undefined() | |
-#1 (): main_async() | |
+#0 /home/example/user-documentation/guides/hack/11-built-in-types/74-nothing-examples/undefined.usage.php(17): HHVM\UserDocumentation\Guides\Hack\BuiltInTypes\Nothing\Undefined\undefined() | |
+#1 (): HHVM\UserDocumentation\Guides\Hack\BuiltInTypes\Nothing\Undefined\main_async() | |
#2 (): Closure$__SystemLib\enter_async_entry_point() | |
#3 (): HH\Asio\join() | |
#4 (): __SystemLib\enter_async_entry_point() | |
diff -ur build-old/final/guides-html/hack/classes/trait-and-interface-requirements.html build-final2/final/guides-html/hack/classes/trait-and-interface-requirements.html | |
--- build-old/final/guides-html/hack/classes/trait-and-interface-requirements.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/classes/trait-and-interface-requirements.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -57,7 +57,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>object(Hack\UserDocumentation\OtherFeatures\TIR\Examples\TraitReqGood\AirBus)#1 (0) { | |
+<pre><code>object(HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\TraitGood\AirBus) (0) { | |
} | |
bool(true) | |
</code></pre> | |
@@ -108,9 +108,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: Uncaught Error: Class 'Hack\UserDocumentation\Classes\TIR\Examples\TraitReqBad\Paper' required to extend class 'Hack\UserDocumentation\Classes\TIR\Examples\TraitReqBad\Machine' by trait 'Hack\UserDocumentation\Classes\TIR\Examples\TraitReqBad\Plane' in /home/ubuntu/user-documentation-2018-09-07/guides/hack/07-classes/31-trait-and-interface-requirements-examples/trait-bad.php:30 | |
-Stack trace: | |
-#0 {main} | |
+<pre><code>Fatal error: Class 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\TraitBad\Paper' required to extend class 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\TraitBad\Machine' by trait 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\TraitBad\Plane' in /home/example/user-documentation/guides/hack/06-classes/28-trait-and-interface-requirements-examples/trait-bad.php.type-errors on line 30 | |
</code></pre> | |
</div> | |
<p><strong>NOTE</strong>: <code>require extends</code> should be taken literally. The class <em>must</em> extend the required class; thus the actual required class | |
@@ -153,7 +151,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>object(Hack\UserDocumentation\Classes\TIR\Examples\InterfaceReqGood\AirBus)#1 (0) { | |
+<pre><code>object(HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\InterfaceGood\AirBus) (0) { | |
} | |
bool(true) | |
</code></pre> | |
@@ -194,6 +192,6 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: Class 'Hack\UserDocumentation\Classes\TIR\Examples\InterfaceReqBad\Paper' required to extend class 'Hack\UserDocumentation\Classes\TIR\Examples\InterfaceReqBad\Machine' by interface 'Hack\UserDocumentation\Classes\TIR\Examples\InterfaceReqBad\Fliers' in /data/users/joelm/user-documentation/guides/hack/47-other-features/03-trait-and-interface-requirements-examples/interface-bad.php.type-errors on line 21 | |
+<pre><code>Fatal error: Class 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\InterfaceBad\Paper' required to extend class 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\InterfaceBad\Machine' by interface 'HHVM\UserDocumentation\Guides\Hack\Classes\TraitAndInterfaceRequirements\InterfaceBad\Fliers' in /home/example/user-documentation/guides/hack/06-classes/28-trait-and-interface-requirements-examples/interface-bad.php.type-errors on line 21 | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/classes/type-constants-revisited.html build-final2/final/guides-html/hack/classes/type-constants-revisited.html | |
--- build-old/final/guides-html/hack/classes/type-constants-revisited.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/classes/type-constants-revisited.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -243,12 +243,12 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>object(Hack\UserDocumentation\Classes\TypeConstantsRevisited\Examples\Instance\IntBox)#1 (1) { | |
- ["value":"Hack\UserDocumentation\Classes\TypeConstantsRevisited\Examples\Instance\Box":private]=> | |
+<pre><code>object(HHVM\UserDocumentation\Guides\Hack\Classes\TypeConstantsRevisited\Instance\IntBox) (1) { | |
+ ["value":"HHVM\UserDocumentation\Guides\Hack\Classes\TypeConstantsRevisited\Instance\Box":private]=> | |
int(10) | |
} | |
-object(Hack\UserDocumentation\Classes\TypeConstantsRevisited\Examples\Instance\IntBox)#1 (1) { | |
- ["value":"Hack\UserDocumentation\Classes\TypeConstantsRevisited\Examples\Instance\Box":private]=> | |
+object(HHVM\UserDocumentation\Guides\Hack\Classes\TypeConstantsRevisited\Instance\IntBox) (1) { | |
+ ["value":"HHVM\UserDocumentation\Guides\Hack\Classes\TypeConstantsRevisited\Instance\Box":private]=> | |
int(123) | |
} | |
</code></pre> | |
diff -ur build-old/final/guides-html/hack/functions/type-enforcement.html build-final2/final/guides-html/hack/functions/type-enforcement.html | |
--- build-old/final/guides-html/hack/functions/type-enforcement.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/functions/type-enforcement.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -18,7 +18,9 @@ | |
<h2 class="headingWithAnchor" id="partial-signatures">Partial Signatures<a href="#partial-signatures"><i class="glyphIcon fa fa-link"></i></a></h2> | |
<p>In partial mode, type hints are optional.</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">function add_items($x, int $y) { | |
+<pre><code class="language-PHP"><?hh // partial | |
+ | |
+function add_items($x, int $y) { | |
return $x + $y; | |
} | |
</code></pre> | |
diff -ur build-old/final/guides-html/hack/generics/some-basics.html build-final2/final/guides-html/hack/generics/some-basics.html | |
--- build-old/final/guides-html/hack/generics/some-basics.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/generics/some-basics.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -36,11 +36,7 @@ | |
<code>push</code>, and as the return type of the instance method <code>pop</code>. Note that although <code>push</code> and <code>pop</code> use the type parameter, they are not themselves | |
generic methods.</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">function useIntStack( | |
- \Hack\UserDocumentation\Generics\Introduction\Examples\Stack\Stack<int> | |
- $stInt, | |
-): void { | |
- require_once("Stack.inc.php"); | |
+<pre><code class="language-PHP">function useIntStack(Stack<int> $stInt): void { | |
$stInt->push(10); | |
$stInt->push(20); | |
$stInt->push(30); | |
diff -ur build-old/final/guides-html/hack/getting-started/getting-started.html build-final2/final/guides-html/hack/getting-started/getting-started.html | |
--- build-old/final/guides-html/hack/getting-started/getting-started.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/getting-started/getting-started.html 2020-11-13 14:30:18.781246063 -0800 | |
@@ -31,7 +31,7 @@ | |
checks all code recursively under this root together as one project.</p> | |
<h3 class="headingWithAnchor" id="your-first-hack-program__3.-write-your-first-hack-program">3. Write your first Hack program<a href="#your-first-hack-program__3.-write-your-first-hack-program"><i class="glyphIcon fa fa-link"></i></a></h3> | |
<p>Using the editor of your choice (e.g., VSCode or vim), let's create a file called <code>first.hack</code> with the following code:</p> | |
-<div class="highlight fbgfm source-language-hack"> | |
+<div class="highlight fbgfm source-language-Hack"> | |
<pre><code class="language-PHP">namespace Hack\GettingStarted\MyFirstProgram; | |
<<__EntryPoint>> | |
diff -ur build-old/final/guides-html/hack/silencing-errors/error-codes.html build-final2/final/guides-html/hack/silencing-errors/error-codes.html | |
--- build-old/final/guides-html/hack/silencing-errors/error-codes.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/silencing-errors/error-codes.html 2020-11-13 14:30:18.789246680 -0800 | |
@@ -3,7 +3,9 @@ | |
<a href="https://github.com/facebook/hhvm/blob/master/hphp/hack/test/errors/error_map.ml">error_map.ml</a>.</p> | |
<h2 class="headingWithAnchor" id="1002-top-level-code">1002: Top-level code<a href="#1002-top-level-code"><i class="glyphIcon fa fa-link"></i></a></h2> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">/* HH_FIXME[1002] Top-level code isn't checked. */ | |
+<pre><code class="language-PHP">namespace HHVM\UserDocumentation\Guides\Hack\SilencingErrors\ErrorCodes\Toplevel; | |
+ | |
+/* HH_FIXME[1002] Top-level code isn't checked. */ | |
echo "hello world\n"; | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/source-code-fundamentals/program-structure.html build-final2/final/guides-html/hack/source-code-fundamentals/program-structure.html | |
--- build-old/final/guides-html/hack/source-code-fundamentals/program-structure.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/source-code-fundamentals/program-structure.html 2020-11-13 14:30:18.781246063 -0800 | |
@@ -44,7 +44,7 @@ | |
<p>The following file is equivalent to the earlier example:</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
<pre><code class="language-PHP">#!/usr/bin/env hhvm | |
-<?hh // strict | |
+<?hh | |
namespace Hack\UserDocumentation\Fundamentals\ProgramStructure\Examples\LegacyHelloWorld; | |
<<__EntryPoint>> | |
diff -ur build-old/final/guides-html/hack/types/generic-types.html build-final2/final/guides-html/hack/types/generic-types.html | |
--- build-old/final/guides-html/hack/types/generic-types.html 2020-11-13 12:41:51.465106982 -0800 | |
+++ build-final2/final/guides-html/hack/types/generic-types.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -33,10 +33,7 @@ | |
the parameter type of the instance method <code>push</code>, and as the return type of the instance method <code>pop</code>. Note that although <code>push</code> and <code>pop</code> use | |
the type parameter, they are not themselves generic methods.</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">function use_int_stack( | |
- \Hack\UserDocumentation\Types\Generics\Examples\Stk\Stack<int> $stInt, | |
-): void { | |
- require_once('Stack.inc.php'); | |
+<pre><code class="language-PHP">function use_int_stack(Stack<int> $stInt): void { | |
$stInt->push(10); | |
$stInt->push(20); | |
$stInt->push(30); | |
diff -ur build-old/final/guides-html/hack/XHP/basic-usage.html build-final2/final/guides-html/hack/XHP/basic-usage.html | |
--- build-old/final/guides-html/hack/XHP/basic-usage.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/XHP/basic-usage.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -23,7 +23,7 @@ | |
<<__EntryPoint>> | |
function basic_usage_examples_basic_xhp(): void { | |
- var_dump( | |
+ \var_dump( | |
<div> | |
My Text | |
<strong>My Bold Text</strong> | |
@@ -62,7 +62,7 @@ | |
dict(0) { | |
} | |
["source"]=> | |
- string(93) "/home/analbumcover/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:11" | |
+ string(98) "/home/example/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:14" | |
} | |
object(Facebook\XHP\HTML\i) (6) { | |
["tagName":protected]=> | |
@@ -80,14 +80,14 @@ | |
dict(0) { | |
} | |
["source"]=> | |
- string(93) "/home/analbumcover/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:12" | |
+ string(98) "/home/example/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:15" | |
} | |
} | |
["context":"Facebook\XHP\Core\node":private]=> | |
dict(0) { | |
} | |
["source"]=> | |
- string(93) "/home/analbumcover/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:13" | |
+ string(98) "/home/example/user-documentation/guides/hack/21-XHP/07-basic-usage-examples/basic.php:16" | |
} | |
</code></pre> | |
</div> | |
diff -ur build-old/final/guides-html/hack/XHP/extending.html build-final2/final/guides-html/hack/XHP/extending.html | |
--- build-old/final/guides-html/hack/XHP/extending.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/XHP/extending.html 2020-11-13 14:30:18.789246680 -0800 | |
@@ -115,7 +115,7 @@ | |
try { | |
echo await $uinfo->toStringAsync(); | |
} catch (XHP\AttributeRequiredException $ex) { | |
- var_dump($ex->getMessage()); | |
+ \var_dump($ex->getMessage()); | |
} | |
/* HH_FIXME[4314] This is a typechecker error but not a runtime error. */ | |
@@ -128,9 +128,9 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>string(180) "Required attribute `userid` was not specified in element `user_info`. | |
+<pre><code>string(249) "Required attribute `userid` was not specified in element `HHVM\UserDocumentation\Guides\Hack\XHP\Extending\RequiredAttributes\user_info`. | |
-/home/analbumcover/user-documentation/guides/hack/21-XHP/16-extending-examples/required-attributes.php:9" | |
+/home/example/user-documentation/guides/hack/21-XHP/16-extending-examples/required-attributes.php:12" | |
User with id 1000 has name Joel | |
</code></pre> | |
</div> | |
@@ -308,7 +308,7 @@ | |
try { | |
echo await $my_br->toStringAsync()."\n"; | |
} catch (XHP\InvalidChildrenException $ex) { | |
- var_dump($ex->getMessage()); | |
+ \var_dump($ex->getMessage()); | |
} | |
$my_ul = <my_ul />; | |
$my_ul->appendChild(<li />); | |
@@ -323,9 +323,9 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>string(268) "Element `my_br` was rendered with invalid children. | |
+<pre><code>string(327) "Element `HHVM\UserDocumentation\Guides\Hack\XHP\Extending\Children\my_br` was rendered with invalid children. | |
-/home/jjergus/work/code/user-documentation/guides/hack/21-XHP/16-extending-examples/children.php:9 | |
+/home/example/user-documentation/guides/hack/21-XHP/16-extending-examples/children.php:12 | |
Verified 0 children before failing. | |
@@ -405,9 +405,9 @@ | |
final xhp class ui_get_status extends x\element { | |
protected async function renderAsync(): Awaitable<x\node> { | |
- $ch = curl_init('https://developers.facebook.com/status/'); | |
- curl_setopt($ch, CURLOPT_USERAGENT, 'hhvm/user-documentation example'); | |
- $status = await HH\Asio\curl_exec($ch); | |
+ $ch = \curl_init('https://developers.facebook.com/status/'); | |
+ \curl_setopt($ch, \CURLOPT_USERAGENT, 'hhvm/user-documentation example'); | |
+ $status = await \HH\Asio\curl_exec($ch); | |
return <x:frag>Status is: {$status}</x:frag>; | |
} | |
} | |
@@ -419,8 +419,8 @@ | |
$status = <ui_get_status />; | |
$html = await $status->toStringAsync(); | |
// This can be long, so just show a bit for illustrative purposes | |
- $sub_status = substr($html, 0, 100); | |
- var_dump($sub_status); | |
+ $sub_status = \substr($html, 0, 100); | |
+ \var_dump($sub_status); | |
} | |
</code></pre> | |
</div> | |
@@ -472,9 +472,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>ID: dc4d64d05f | |
-<span id="dc4d64d05f">This has an optional random id</span> | |
-<span>This has an optional random id</span> | |
+<pre><code><span id="9899fbc5f0">This has a random id</span> | |
</code></pre> | |
</div> | |
<h3 class="headingWithAnchor" id="html-helpers__class-attribute-management">Class Attribute Management<a href="#html-helpers__class-attribute-management"><i class="glyphIcon fa fa-link"></i></a></h3> | |
diff -ur build-old/final/guides-html/hack/XHP/interfaces.html build-final2/final/guides-html/hack/XHP/interfaces.html | |
--- build-old/final/guides-html/hack/XHP/interfaces.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/XHP/interfaces.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -124,6 +124,7 @@ | |
final class XHPUnsafeExample implements XHP\UnsafeRenderable { | |
public async function toHTMLStringAsync(): Awaitable<string> { | |
+ /* HH_FIXME[2050] $_GET is not recognized by the typechecker */ | |
return '<script>'.$_GET['I_LOVE_XSS'].'</script>'; | |
} | |
} | |
@@ -142,21 +143,21 @@ | |
'3' => 3, | |
'true' => true, | |
'null' => null, | |
- 'new stdClass()' => new stdClass(), | |
+ 'new stdClass()' => new \stdClass(), | |
'vec[<li />, <li />, <li />]' => vec[<li />, <li />, <li />], | |
'XHPUnsafeExample' => new XHPUnsafeExample(), | |
}; | |
- $max_label_len = max($inputs->mapWithKey(($k, $_) ==> strlen($k))); | |
+ $max_label_len = \max($inputs->mapWithKey(($k, $_) ==> \strlen($k))); | |
print \HH\Lib\Str\repeat(' ', $max_label_len + 1)." | XHPRoot | XHPChild\n"; | |
print \HH\Lib\Str\repeat('-', $max_label_len + 1)."-|---------|----------\n"; | |
foreach ($inputs as $label => $input) { | |
- printf( | |
+ \printf( | |
" %s | %-7s | %s\n", | |
\HH\Lib\Str\pad_left($label, $max_label_len, ' '), | |
$input is x\node ? 'yes' : 'no', | |
- $input is XHPChild ? 'yes' : 'no', | |
+ $input is \XHPChild ? 'yes' : 'no', | |
); | |
} | |
} | |
diff -ur build-old/final/guides-html/hack/XHP/introduction.html build-final2/final/guides-html/hack/XHP/introduction.html | |
--- build-old/final/guides-html/hack/XHP/introduction.html 2020-11-13 12:41:51.469107270 -0800 | |
+++ build-final2/final/guides-html/hack/XHP/introduction.html 2020-11-13 14:30:18.785246371 -0800 | |
@@ -32,19 +32,7 @@ | |
which can then be used like plain HTML elements. For example, this site defines an <code><a_post></code> tag that has the same interface | |
as a standard <code><a></code> tag, but makes a POST request instead of a GET request:</p> | |
<div class="highlight fbgfm source-language-Hack"> | |
-<pre><code class="language-PHP">/* | |
- * Copyright (c) 2004-present, Facebook, Inc. | |
- * All rights reserved. | |
- * | |
- * This source code is licensed under the BSD-style license found in the | |
- * LICENSE file in the root directory of this source tree. An additional grant | |
- * of patent rights can be found in the PATENTS file in the same directory. | |
- * | |
- */ | |
- | |
-namespace HHVM\UserDocumentation; | |
- | |
-use namespace Facebook\XHP\Core as x; | |
+<pre><code class="language-PHP">use namespace Facebook\XHP\Core as x; | |
use type Facebook\XHP\HTML\{XHPHTMLHelpers, a, form}; | |
@@ -108,7 +96,7 @@ | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
<pre><code><a href="http://www.example.com">I'm a normal link</a> | |
-<form id="7b3be41f61" method="post" action="http://www.example.com" class="postLink"><a onclick="document.getElementById(&quot;7b3be41f61&quot;).submit(); return false;" href="#">I make a POST REQUEST</a></form> | |
+<form id="208542b0ba" method="post" action="http://www.example.com" class="postLink"><a onclick="document.getElementById(&quot;208542b0ba&quot;).submit(); return false;" href="#">I make a POST REQUEST</a></form> | |
</code></pre> | |
</div> | |
<h2 class="headingWithAnchor" id="runtime-validation">Runtime Validation<a href="#runtime-validation"><i class="glyphIcon fa fa-link"></i></a></h2> | |
@@ -140,7 +128,7 @@ | |
</div> | |
<em>Output</em> | |
<div class="highlight fbgfm"> | |
-<pre><code>Fatal error: XHP: mismatched tag: `naps` not the same as `span` in /data/users/joelm/user-documentation/guides/hack/24-XHP/01-introduction-examples/tag-matching-validation.php.type-errors on line 15 | |
+<pre><code>Fatal error: XHP: mismatched tag: `naps` not the same as `span` in /home/example/user-documentation/guides/hack/21-XHP/01-introduction-examples/tag-matching-validation.php.type-errors on line 17 | |
</code></pre> | |
</div> | |
<p>The above code won't typecheck or run because the XHP validator will see that <code><span></code> and <code><naps></code> tags are mismatched; however, | |
@@ -161,7 +149,7 @@ | |
echo await $xhp->toStringAsync(); | |
} catch (XHP\InvalidChildrenException $ex) { | |
// We will get here because an <i> cannot be nested directly below a <ul> | |
- var_dump($ex->getMessage()); | |
+ \var_dump($ex->getMessage()); | |
} | |
} | |
</code></pre> | |
@@ -170,7 +158,7 @@ | |
<pre><code class="language-PHP"><<__EntryPoint>> | |
async function intro_examples_allowed_tag_validation_run(): Awaitable<void> { | |
intro_examples_allowed_tag_validation_using_string(); | |
- echo PHP_EOL.PHP_EOL; | |
+ echo \PHP_EOL.\PHP_EOL; | |
await intro_examples_allowed_tag_validation_using_xhp(); | |
} | |
</code></pre> | |
@@ -179,9 +167,9 @@ | |
<div class="highlight fbgfm"> | |
<pre><code><ul><i>Item 1</i></ul> | |
-string(320) "Element `Facebook\XHP\HTML\ul` was rendered with invalid children. | |
+string(321) "Element `Facebook\XHP\HTML\ul` was rendered with invalid children. | |
-/home/jjergus/work/code/user-documentation/guides/hack/21-XHP/04-some-basics-examples/allowed-tag-validation.inc.php:13 | |
+/home/example/user-documentation/guides/hack/21-XHP/01-introduction-examples/allowed-tag-validation.inc.php:15 | |
Verified 0 children before failing. | |
@@ -221,7 +209,7 @@ | |
string $could_be_bad, | |
): Awaitable<void> { | |
intro_examples_avoid_xss_using_string($could_be_bad); | |
- echo PHP_EOL.PHP_EOL; | |
+ echo \PHP_EOL.\PHP_EOL; | |
await intro_examples_avoid_xss_using_xhp($could_be_bad); | |
} | |
diff -ur build-old/final/static_resources.json build-final2/final/static_resources.json | |
--- build-old/final/static_resources.json 2020-11-13 12:41:51.389101524 -0800 | |
+++ build-final2/final/static_resources.json 2020-11-13 14:30:18.697239577 -0800 | |
@@ -2,7 +2,7 @@ | |
"/css/main.css": { | |
"localPath": "/home/jjergus/work/code/user-documentation/public/css/main.css", | |
"checksum": "69a03d683f27f798", | |
- "mtime": 1605300069, | |
+ "mtime": 1605306320, | |
"mimeType": "text/css" | |
}, | |
"/favicon.png": { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment