Draft
Conversation
Alan-Liang
pushed a commit
to altk-contrib/spectec
that referenced
this pull request
Sep 1, 2024
* [spec] Add reference types to overview (WebAssembly#1394) * [interpreter] Remove use of physical equality on characters (WebAssembly#1396) * Merge SIMD proposal (WebAssembly#1391) SIMD is [phase 5](WebAssembly/simd#507), merge all the changes back into main spec. * Remove merge conflict marker * [spec] Handle v128 in validation algorithm (WebAssembly#1399) * [spec] Fix instruction table (WebAssembly#1402) * Add tests for functions without end marker. NFC (WebAssembly#1405) Inspired by this downstream test in wabt: WebAssembly/wabt#1775 Fixes: WebAssembly#1404 * Describe correct tail call behavior across modules Whether tail calls across module boundaries would guarantee tail call behavior was previously an open question, but @thibaudmichaud confirmed that they would guarantee tail call behavior in V8 in WebAssembly/tail-call#15 (comment). * [interpreter] Fix a typo in README (WebAssembly#1406) * Add a link to the proposals repo (WebAssembly#1409) Fixes WebAssembly#1407. * [spec] Add note regarding parameter names (WebAssembly#1412) * Comments WIP * Merge upstream (Wasm-DSL#55) * Typo * [spec] Clarifying note on text format (WebAssembly#1420) Signed-off-by: Adrian Cole <adrian@tetrate.io> Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> * Eps * Eps * [test] Fix section size in binary test (WebAssembly#1424) * Update document README to install six * Disallow type recursion (Wasm-DSL#56) * Fix import order * Add --generate-js-only flag to test runner This will return early right after generating JS from the wast test files. It will not attempt to run the tests, or do the round trip conversion from wasm <-> wast. This is convenient for proposals to add tests without having to update the reference interpreter with implementation, and generate those tests to JS to run in other Wasm engines. Fixes WebAssembly#1430. * Remove use of let from func.bind test * Add call3 * [spec] Fix missing mention of vectype (WebAssembly#1436) Fixed WebAssembly#1435. * [spec] Fix single-table limitation in module instantiation (WebAssembly#1434) * [spec] Fix missing immediate on table.set (WebAssembly#1441) * [docs] Update syntax in examples (WebAssembly#1442) * Clarification in proposals README * [interpreter] Tweak start section AST to match spec * [spec] Bump release to 2 (WebAssembly#1443) At yesterday's WG meeting, we decided to make a new release, now switching to the Evergreen model. For administrative and technical reasons having to do with W3C procedure, we decided to bump the release number to 2. From now on, the standard will iterate at version 2 from the W3C's official perspective. We use minor release numbers internally to distinguish different iterations. (@ericprud, I hope I understood correctly that the Bikeshed "level" also needed to be bumped to 2.) * Remove test cases with let * Sync wpt test (WebAssembly#1449) * [spec] Fix typo (WebAssembly#1448) * [proposals] Add missing start to example (WebAssembly#1454) * [spec] "version 2.0" -> "release 2.0" (WebAssembly#1452) * [spec] Fix typo (WebAssembly#1458) * [test] Add assert_trap for unreached valid case (WebAssembly#1460) * [interpreter] Name the type Utf8.unicode * [spec] Fix binary format of data/elem tags to allow LEB (WebAssembly#1461) * [spec] Fix typos in numeric operations (WebAssembly#1467) * [spec] Fix syntax error in element segments validation rule (WebAssembly#1465) * [spec] Fix typo in global instance syntax (WebAssembly#1466) * [spec] Fix typos in module instantiation (WebAssembly#1468) * [interpreter] Turn into a Dune package (WebAssembly#1459) * [spec] Fix typos in instruction validation rules (WebAssembly#1462) * [bib] Update latex .bib file for webassembly 2.0 (WebAssembly#1463) * [spec] Add missing default for vector types (WebAssembly#1464) * [spec] Fix typos in binary and text formats (WebAssembly#1469) * [spec] Fix various typos (WebAssembly#1470) * TypeError for Global constructor with v128 At the moment the spec requires a `LinkError` to be thrown when the `WebAssembly.Global` constructor is called for type `v128`. This was introduced in WebAssembly/simd#360, but according to the PR description, actually a `TypeError` should be thrown. The PR refers to https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#javascript-api-and-simd-values, and there a `TypeError` is required. * [spec] Fix LEB opcodes in instruction index (WebAssembly#1475) * [spec] Fix v128.loadX_splat in instruction index (WebAssembly#1477) * [interpreter] Dune test suite (WebAssembly#1478) * [interpreter] Fix warning flags for OCaml 4.13 (WebAssembly#1481) * [interpreter] Simplify lexer and avoid table overflow on some architectures (WebAssembly#1482) * [spec] Editorial nit (WebAssembly#1484) * [interpreter] Produce error messages in encoder (WebAssembly#1488) * [spec] Add missing close paren on table abbreviation (WebAssembly#1486) Also remove an unnecessary space in the previous table abbreviation. * [spec] Remove outdated note (WebAssembly#1491) * Eps * [interpreter] Factor data and element segments into abstract types (WebAssembly#1492) * [spec] Update note on module initialization trapping (WebAssembly#1493) * Fix type equality * Fix typo * [spec] Add note about control stack invariant to algorithm (WebAssembly#1498) * [spec] Tweak tokenisation for text format (WebAssembly#1499) * [test] Use still-illegal opcode (func-refs) (WebAssembly#1501) * Fix minor typos and consistency issues in the validation algorithm. (Wasm-DSL#61) * Add definition of defaultable types (Wasm-DSL#62) No rules for locals yet, since those are still being discussed. * Remove func.bind (Wasm-DSL#64) * Implement 1a (Wasm-DSL#63) * Subtyping on vector types & heap bottom check (Wasm-DSL#66) * [interpreter] Bring AST closer to spec * [spec] Fix typo (WebAssembly#1508) * WIP * Remove polymorphic variants * Minor syntactic consistency fix (Wasm-DSL#68) Change pseudo equality operator from `==` to `=`. * Bump version * [spec] Fix table.copy validation typo (WebAssembly#1511) * More fixes * Fix Latex * Adjust intro * Spec local initialization (Wasm-DSL#67) * Add table initialiser (Wasm-DSL#65) * [spec] Remove outdated note (WebAssembly#1491) * [interpreter] Factor data and element segments into abstract types (WebAssembly#1492) * [spec] Update note on module initialization trapping (WebAssembly#1493) * [spec] Add note about control stack invariant to algorithm (WebAssembly#1498) * [spec] Tweak tokenisation for text format (WebAssembly#1499) * [test] Use still-illegal opcode (func-refs) (WebAssembly#1501) * [spec] Fix typo (WebAssembly#1508) * [spec] Fix table.copy validation typo (WebAssembly#1511) * Merge fallout * Latex fixes * [spec] Minor copy edit (WebAssembly#1512) * Spec changelog * [spec] Trivial editorial fix * Update embedding * Oops * Argh * Rename Sem to Dyn * Readd match.mli * [interpreter] Build wast.js with Js_of_ocaml (WebAssembly#1507) * [interpreter] Add flag for controlling call budget * Spec zero byte * Fix table/elem expansion (Wasm-DSL#71) * Fix merge artefact * Restrict init from stack-polymorphism (Wasm-DSL#75) * [spec] Simplify exec rule for if (WebAssembly#1517) * [spec] Formatting tweak (WebAssembly#1519) * [spec] Fix typing rule in appendix (WebAssembly#1516) * [spec] Fix “invertible” typo (WebAssembly#1520) * [spec] Correct use of opdtype and stacktype (WebAssembly#1524) * [spec] Add note to instruction index (WebAssembly#1528) * Add type annotation to call_ref (Wasm-DSL#76) * [spec] Tweak wording to avoid first person * Eps * Eps2 * Eps3 * Remove unneeded assumption type * [spec/test] Fix scoping of non-imported globals (WebAssembly#1525) * Fix test * A couple of tests * Performance improvement * Typo * Another typo * [spec] Fix language config * Fix null subtyping being wrong way around (Wasm-DSL#79) * [spec] Fix naming typo (WebAssembly#1532) * Defunctorise types again * [spec] Add citation for WasmCert (WebAssembly#1533) * [test] Fix async_index.js * [test] Enable the i64 tests in imports.wast. Fixes WebAssembly#1514. * Minor tweak * [js-api][web-api] Editorial: Fix some minor issues. Fixes WebAssembly#1064. * Update README.md (WebAssembly#1540) Improve wording. * [spec] Fix typo in element execution (WebAssembly#1544) * [spec] Remove obsolete note (WebAssembly#1545) * cccccc[klghketetivvtnnhvntikigrnueuhdkkukljgjuest/meta/generate_*.js: sync upstream JS with tests (WebAssembly#1546) * [spec] Editorial tweak * [test] test segment/table mismatch and externref segment (WebAssembly#1547) * [interpreter] Remove duplicate token declarations (WebAssembly#1548) * Update Soundness appendix (Wasm-DSL#72) * [spec] Formatting eps * Remove oboslete note in README (Wasm-DSL#82) * Add `print_i64` to generated spec tests WebAssembly@82a613d added `print_i64` to the standalone test files, but not to the ones generated by the spec interpreter. * [test] Tweak binary-leb128 and simd_lane (WebAssembly#1555) * [spec] Allow explicit keyword definitions (WebAssembly#1553) Rather than describing keyword tokens as always being defined implicitly by terminal symbols in syntactic productions, describe them as being defined implicitly or explicitly. This accounts for the explicit definitions of `offset` and `align` phrases, which are lexically keywords, later in the chapter. Fixes WebAssembly#1552. * [js-api] editorial: adjust link for v128 type * Factor local init tests to local_init.wast; add more (Wasm-DSL#84) * Update JS API for no-frills * [spec] Add missing case for declarative elem segments Fixes WebAssembly#1562. * [spec] Hotfix last accidental commit * [spec] Fix hyperref (WebAssembly#1563) * [spec] Bump sphinx version to fix Python problem * [spec] Fix minor errors and inconsistencies (WebAssembly#1564) * Spacing * Fix a couple more superfluous brackets * [spec] Eps * [interpreter] Refactor parser to handle select & call_indirect correctly (WebAssembly#1567) * [spec] Remove dead piece of grammar * [test] elem.wast: force to use exprs in a element (WebAssembly#1561) * Fix typos in SIMD exec/instructions * Update interpreter README (WebAssembly#1571) It previously stated that the formal spec did not exist, but the spec has existed for years now. * [spec] Remove an obsolete exec step (WebAssembly#1580) * [test] Optional tableidx for table.{get,set,size,grow,fill} (WebAssembly#1582) * [spec] Fix abstract grammar for const immediate (WebAssembly#1577) * [spec] Fix context composition in text format (WebAssembly#1578) * [spec] Fix label shadowing (WebAssembly#1579) * Try bumping OCaml * Try bumping checkout * Adjust for multi-return * Tweak reduction rules * Spec return_call_ref * Fix * Text format * [spec] Fix typos in instruction index (WebAssembly#1584) * [spec] Fix typo (WebAssembly#1587) * [spec] Remove inconsistent newline (WebAssembly#1589) * [interpreter] Remove legacy bigarray linking (WebAssembly#1593) * [spec] Show scrolls for overflow math blocks (WebAssembly#1594) * [interpreter] Run JS tests via node.js (WebAssembly#1595) * [spec] Remove stray `x` indices (WebAssembly#1598) * [spec] Style tweak for cross-refs * [spec] Style eps (WebAssembly#1601) * Separate subsumption from instr sequencing * State principal types * Add statements about glbs, lubs, and disjoint hierarchies * Add missing bot * [spec] Clarify that atoms can be symbolic (WebAssembly#1602) * [test] Import v128 global (WebAssembly#1597) * Update Overview.md * [js-api] Expose everywhere * [js-api] Try to clarify NaN/infinity handling. (WebAssembly#1535) * [web-api] Correct MIME type check. (WebAssembly#1537) Fixes WebAssembly#1138. * [ci] Pin nodejs version to avoid fetching failures (WebAssembly#1603) The issues appears to be related to actions/runner-images#7002. Co-authored-by: Ms2ger <Ms2ger@igalia.com> * [spec] Add missing value to table.grow reduction rule (WebAssembly#1607) * [test] Move SIMD linking test to simd dir (WebAssembly#1610) * Editorial: Clarify the name of the instantiate algorithm. * Add notes to discourage using synchronous APIs. * [jsapi] Normative: Always queue a task during asynchronous instantiation JSC will have to do asynchronous compilation work during some instantiations. To be consistent, this PR always queues a task to complete instantiation, except through the synchronous Instance(module) API, to ensure consistency across platforms. This patch also cleans up the specification in various surrounding ways: - Include notes about APIs whose use is discouraged/may be limited Closes WebAssembly#741 See also webpack/webpack#6433 * [test] Exception -> Tag in wasm-module-builder.js The section name has changed to the tag section a few years ago. This adds the corresponding changes added in WebAssembly/exception-handling#252 and WebAssembly/exception-handling#256. * [spec] Fix reduction rule for label (WebAssembly#1612) Fix WebAssembly#1605. * [spec] Clarifying note about canonical NaNs (WebAssembly#1614) * [spec] Tweak crossref * [test] Fix invalid section ID tests (WebAssembly#1615) * [tests] Disable node run for now * [spec] Don't check in generated index, to avoid spurious merge conflicts * [spec] Rename script * [ci] deactivate node run for now * Fix uses of \to; compositionality * Fix typo in text expansion * Follow-up fix * Fix compilation errors after merge. This commit fixes the errors introduced by the merge of function-references/main into this tree. --------- Signed-off-by: Adrian Cole <adrian@tetrate.io> Co-authored-by: Andreas Rossberg <rossberg@dfinity.org> Co-authored-by: Hans Höglund <hanshoglund@users.noreply.github.com> Co-authored-by: Ng Zhi An <zhin@chromium.org> Co-authored-by: Ng Zhi An <zhin@google.com> Co-authored-by: Sam Clegg <sbc@chromium.org> Co-authored-by: Thomas Lively <7121787+tlively@users.noreply.github.com> Co-authored-by: Gabor Greif <ggreif@gmail.com> Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> Co-authored-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com> Co-authored-by: Andreas Rossberg <rossberg@chromium.org> Co-authored-by: Ng Zhi An <ngzhian@gmail.com> Co-authored-by: Ben L. Titzer <ben.titzer@gmail.com> Co-authored-by: Keith Winstein <keithw@cs.stanford.edu> Co-authored-by: gahaas <ahaas@google.com> Co-authored-by: r00ster <r00ster91@protonmail.com> Co-authored-by: Timothy McCallum <tpmccallum@users.noreply.github.com> Co-authored-by: Julien Cretin <github@ia0.eu> Co-authored-by: Julien Cretin <cretin@google.com> Co-authored-by: Ole Krüger <ole@vprsm.de> Co-authored-by: Jämes Ménétrey <james@menetrey.me> Co-authored-by: Ivan Panchenko <39594356+ivan-pan@users.noreply.github.com> Co-authored-by: Ethan Jones <ictrobot@outlook.com> Co-authored-by: Ole Krüger <ole.kruger@trili.tech> Co-authored-by: aathan <aathan_github@memeplex.com> Co-authored-by: Alberto Fiori <9143617+fifofefe@users.noreply.github.com> Co-authored-by: mnordine <marknordine@gmail.com> Co-authored-by: cosine <CosineP@users.noreply.github.com> Co-authored-by: ariez-xyz <41232910+ariez-xyz@users.noreply.github.com> Co-authored-by: Surma <surma@surma.dev> Co-authored-by: Asumu Takikawa <asumu@igalia.com> Co-authored-by: Ian Henderson <ian@ianhenderson.org> Co-authored-by: Tom Stuart <hi@tomstu.art> Co-authored-by: James Browning <thejamesernator@gmail.com> Co-authored-by: whirlicote <78504913+whirlicote@users.noreply.github.com> Co-authored-by: Ms2ger <Ms2ger@igalia.com> Co-authored-by: Adam Lancaster <Adzz@users.noreply.github.com> Co-authored-by: Ömer Sinan Ağacan <omeragacan@gmail.com> Co-authored-by: B Szilvasy <beatrice.szilvasy@gmail.com> Co-authored-by: Thomas Lively <tlively123@gmail.com> Co-authored-by: Michael Ficarra <github@michael.ficarra.me> Co-authored-by: YAMAMOTO Takashi <yamamoto@midokura.com> Co-authored-by: Thomas Lively <tlively@google.com> Co-authored-by: candymate <31069474+candymate@users.noreply.github.com> Co-authored-by: Bongjun Jang <bongjun.jang@kaist.ac.kr> Co-authored-by: ShinWonho <50018375+ShinWonho@users.noreply.github.com> Co-authored-by: 서동휘 <hwidongsuh@gmail.com> Co-authored-by: Jim Blandy <jimb@red-bean.com> Co-authored-by: Heejin Ahn <aheejin@gmail.com> Co-authored-by: Daniel Ehrenberg <littledan@chromium.org>
Alan-Liang
pushed a commit
to altk-contrib/spectec
that referenced
this pull request
Sep 2, 2024
…t-funcs [explainer] Abbreviate away continuation function types
…led some conditions in sideconditions.
Reactivating sub pass
…fted subst generation to own function
This refactors the test setup for the middle end test. Instead of one huge `TEST.md` that contains the dump output of every pass, we now have expected files for each pass separately:
```
~/build/spectec/spectec/test-middlend $ ls specification.0*exp
specification.00-elab.exp specification.02-remove-indexed-types.exp specification.04-else.exp specification.06-sub.exp
specification.01-typefamily-removal.exp specification.03-totalize.exp specification.05-sideconditions.exp
```
Run with `dune runtest` and update with `dune promote` as usual.
This makes it easier to review a PR to see which passes are affected (at least when passes near the end are changed).
It is also very useful to have these files to diff subsequent pass dumps to understand what a pass is doing:
```
~/build/spectec/spectec/test-middlend $ diff -u specification.02-remove-indexed-types.exp specification.03-totalize.exp |head
--- specification.02-remove-indexed-types.exp 2025-11-12 11:49:22.788708924 +0100
+++ specification.03-totalize.exp 2025-11-12 11:49:22.788937041 +0100
@@ -1344,27 +1344,30 @@
def $fsize{Fnn : Fnn}(Fnn) = $size((Fnn : Fnn <: numtype))
;; ../../../../specification/wasm-3.0/1.2-syntax.types.spectec
-def $inv_isize(nat : nat) : Inn
+def $inv_isize(nat : nat) : Inn?
;; ../../../../specification/wasm-3.0/1.2-syntax.types.spectec
- def $inv_isize(32) = I32_Inn
```
Unfortunately, changes to the set and order of passes are tedious (the dune file has to be updated). See the `dune` file for instructions. If this becomes too tedious [using `dynamic_include` may be an option](https://dune.readthedocs.io/en/latest/howto/rule-generation.html), but hopefully we don’t change the sequence of passes that often.
* Add alias-demut pass * Update test
Co-authored-by: ShinWonho <50018375+ShinWonho@users.noreply.github.com>
…hout argument This change landed in the Web Platform Tests repository via: web-platform-tests/wpt@5078da5 Corresponding issue: WebAssembly#2075
…2123) See https://webassembly.github.io/spec/js-api/#exceptions > constructor(Tag exceptionTag, sequence<any> payload, > optional ExceptionOptions options = {});
* [js-api] Fix Instance constructor variable shadowing
|module| was overwritten with its [[Module]] slot before reading
[[BuiltinSets]] and [[ImportedStringModule]], which are slots on the
JS Module wrapper, not the internal module.
* [js-api] Fix If/Else-if for objectkind in ToWebAssemblyValue
* [js-api] Fix loop variable shadowing in Tag constructor
* [js-api] Fix signed_31 variable in ToWebAssemblyValue i31ref conversion
The condition used i31 on both sides of signed_31(), making it a
circular tautology. Every other similar conversion in the algorithm
uses the unsigned variable (e.g. signed_64(u64)). Change to u31.
* [js-api] Fix create a builtin function: missing store and wrong variable name
|store| was used without being retrieved first, and |functype| didn't
match the parameter name |funcType|.
* [js-api] Fix wrong index into maybeBuiltin in validate an import for builtins
find a builtin returns (builtinSetName, builtin) where builtin is
(name, funcType, steps). The funcType is at maybeBuiltin[1][1], not
maybeBuiltin[0][1] which indexes into the string name.
* [js-api] Use embedding spec tag_alloc instead of a local definition
Remove the js-api's local tag_alloc(store, parameters) and replace all
callers with the embedding spec's tag_alloc(store, tagtype), passing an
inline functype as the tag type.
* [js-api] Use ToJSValue to unwrap JSTag exception payload
When re-throwing a JS exception that was caught by WebAssembly,
the payload is a list of WebAssembly values from exn_read. For
the JSTag, payload[0] is ref.extern (ref.host hostaddr), not a
raw host address. Passing it directly to 'retrieving a host
value' is wrong since that algorithm expects a host address
integer. Use ToJSValue to correctly unwrap the value.
* [js-api] Fix missing type argument to ToWebAssemblyValue in intoCharCodeArray
ToWebAssemblyValue takes two arguments (value, type). The call was
missing the element type. The array type is (array (mut i16)) whose
elements are stored as i32.
* [js-api] Fix Table.grow to return AddressValue via U64ToAddressValue
table_size returns a raw u64. Table.grow's IDL signature returns
AddressValue. The length getter and Memory.grow both use U64ToAddressValue
for this conversion; Table.grow was missing it.
* [js-api] Fix memory.grow hook to use instruction's memory index
The hook previously hardcoded memaddrs[0], which is wrong for
multi-memory modules where memory.grow x can target any memory index.
Use the instruction's immediate x to index memaddrs.
* [js-api] Fix memory.grow hook failure check for i64 memories
For 64-bit memories, memory.grow pushes i64.const (-1) on
failure, not i32.const (-1). The previous check only matched
the i32 case, so for a failed i64 grow the hook incorrectly
called Refresh the memory buffer, detaching the ArrayBuffer
even though the memory size did not change.
* [js-api] Fix exception check in call an Exported Function
func_invoke returns (store, val* | exception | error) where exception
is defined in the core embedding spec as EXCEPTION exnaddr. The check
was using [=THROW=] [=ref.exn=] which is undefined notation. Use
[=exception=] to match the core embedder spec's type.
* [js-api] Read store before func_alloc in create a host function
The outer algorithm used |store| in the func_alloc call without
ever binding it. The |store| inside the hostfunc closure is a
separate binding read at invocation time, not at definition time.
* [js-api] Add missing ?/! on ToWebAssemblyValue calls
* [js-api] Add missing ! to ToJSValue calls
ToJSValue is infallible. Add ! to all call sites that are missing it
for consistency with the existing pattern in run a host function and
create a builtin function.
* [js-api] Include [[ObjectKind]] in MakeBasicObject slot list
Per ECMA-262, all internal slots must be declared in the
MakeBasicObject call. [[ObjectKind]] was set immediately after
but was missing from the initial slot list.
* [js-api] Return after rejecting on compile error in asynchronously compile
* [js-api] Fix read the imports assert to check qualified builtin set name
The map is keyed by qualified names ("wasm:" prefix) but the assert
checked for the unqualified name, which was never present and made the
assert vacuously true. Compute the qualified name first and assert
against that.
* [js-api] Use HasProperty instead of map 'contains' for exports object
The builtin/string exports object is a plain JS object, not an Infra
ordered map. Use HasProperty to check for component name presence.
* [js-api, web-api] Editorial fixes
- Fix elementType case inconsistency in Table constructor
- Fix "Let return" typo in ToJSValue
- Fix missing "be" in ToWebAssemblyValue
- Fix "fo" typo in instantiate a builtin set
- Fix indentation of 'Return handled' in HostResizeArrayBuffer
- Fix spurious space in get the JavaScript exception tag links
- Fix 'a import' typo in validate builtins display text
- Fix 'is' typo in Set [[ArrayBufferMaxByteLength]] step
- Update WebIDL URL to webidl.spec.whatwg.org
- Use [=/new=] consistently for Tag and Exception object creation
- Use 'surrounding agent' consistently instead of 'current agent'
- Update TC39 URL to tc39.es/ecma262
- Remove dead and duplicate ECMASCRIPT anchor entries
- Fix 'appending' typo in embedding interface URL
- Fix tag address pluralization in Tag object cache description
- Use [=/new=] for Module object creation in construct a WebAssembly module object
- Fix list item numbering in ToJSValue i32 branch
- Remove unused 'instantiate a WebAssembly module' anchor
- Rename Instance constructor parameter to moduleObject
- Fix missing period in Exception constructor
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hack to get commit notifications from Github. Don't close.