Skip to content

Commit

Permalink
Sync with the stable documentation branch (#17195)
Browse files Browse the repository at this point in the history
This pull request is syncing the main with changes from
language-reference-stable.

It was created automatically after
848aeda by @Sporarum
  • Loading branch information
nicolasstucki authored Apr 12, 2023
2 parents d577300 + c0941e7 commit fe08449
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 10 deletions.
5 changes: 2 additions & 3 deletions docs/_docs/reference/changed-features/lazy-vals-init.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ title: Lazy Vals Initialization
nightlyOf: https://docs.scala-lang.org/scala3/reference/changed-features/lazy-vals-init.html
---

Scala 3 implements [Version 6](https://docs.scala-lang.org/sips/improved-lazy-val-initialization.html#version-6---no-synchronization-on-this-and-concurrent-initialization-of-fields)
of the [SIP-20] improved lazy vals initialization proposal.
Scala 3 implements Version 6 of the [SIP-20] improved lazy vals initialization proposal.

## Motivation

Expand Down Expand Up @@ -77,4 +76,4 @@ recursive lazy vals is undefined (initialization may result in a deadlock).

* [SIP-20]

[SIP-20]: https://docs.scala-lang.org/sips/improved-lazy-val-initialization.html
[SIP-20]: https://github.com/scala/improvement-proposals/pull/19
28 changes: 22 additions & 6 deletions docs/_docs/reference/metaprogramming/tasty-inspect.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,33 @@ title: "TASTy Inspection"
nightlyOf: https://docs.scala-lang.org/scala3/reference/metaprogramming/tasty-inspect.html
---

```scala
libraryDependencies += "org.scala-lang" %% "scala3-tasty-inspector" % scalaVersion.value
```

TASTy files contain the full typed tree of a class including source positions
and documentation. This is ideal for tools that analyze or extract semantic
information from the code. To avoid the hassle of working directly with the TASTy
information from the code.

To avoid the hassle of working directly with the TASTy
file we provide the `Inspector` which loads the contents and exposes it
through the TASTy reflect API.

## Inspecting TASTy files
We also showcase TASTyViz, a visualiser for tasty, useful for debugging and checking your understanding of TASTy

## TASTyViz

<!-- Keep synced with https://github.com/scala/docs.scala-lang/blob/main/scala3/guides/tasty-overview.md -->

TASTyViz is a tool to inspect TASTy files visually.
At the time of writing, it is still in the early stages of developement, therefore you can expect missing functionality and less-than-ideal user experience, but it could still prove useful when debugging.
You can check it out [here](https://github.com/shardulc/tastyviz).

## `Inspector`

`Inspector` is a tool which provides API access to TASTy.

You can add the depency to your sbt build like so:
```scala
libraryDependencies += "org.scala-lang" %% "scala3-tasty-inspector" % scalaVersion.value
```


To inspect the trees of a TASTy file a consumer can be defined in the following way.

Expand Down
2 changes: 1 addition & 1 deletion docs/_docs/reference/new-types/union-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: "Union Types"
nightlyOf: https://docs.scala-lang.org/scala3/reference/new-types/union-types.html
---

A union type `A | B` has as values all values of type `A` and also all values of type `B`.
A union type `A | B` includes all values of both types.


```scala
Expand Down

0 comments on commit fe08449

Please sign in to comment.