Skip to content

Conversation

@dotnet-bot
Copy link
Contributor

This is an automatically generated pull request from main into lsp.

Once all conflicts are resolved and all the tests pass, you are free to merge the pull request. 🐯

Troubleshooting conflicts

Identify authors of changes which introduced merge conflicts

Scroll to the bottom, then for each file containing conflicts copy its path into the following searches:

Usually the most recent change to a file between the two branches is considered to have introduced the conflicts, but sometimes it will be necessary to look for the conflicting lines and check the blame in each branch. Generally the author whose change introduced the conflicts should pull down this PR, fix the conflicts locally, then push up a commit resolving the conflicts.

Resolve merge conflicts using your local repo

Sometimes merge conflicts may be present on GitHub but merging locally will work without conflicts. This is due to differences between the merge algorithm used in local git versus the one used by GitHub.

git fetch --all
git checkout -t upstream/merges/main-to-lsp
git reset --hard upstream/lsp
git merge upstream/main
# Fix merge conflicts
git commit
git push upstream merges/main-to-lsp --force

vzarytovskii and others added 19 commits March 18, 2024 11:22
…#16845)

* Implicit constructors should only target AttributeTargets.Constructor

* release notes

* Update FSComp

* Use LanguageFeature.EnforceAttributeTargets
…romScript (#16880)

* Ensure script load closure is always executed for GetProjectSnapshotFromScript.

* assumeDotNetFramework is false for non Windows.

* Update Surface Area

* Check for FF in test.

* Address bad merge.
* Parser: more 'as' pattern recovery

* Release notes

---------

Co-authored-by: Petr <[email protected]>
* Completion: fix for unfinished record field decl

* Fantomas

* Release notes
It's not useful for us since it doesn't cross azdo<->gh boundaries.
* Parser: more unfinished member recovery

* Release notes

* Update test baselines

* Undo commit

* Update test baselines

* Revert

---------

Co-authored-by: Tomas Grosup <[email protected]>
* Fix receiving and processing mailbox after Dispose

* Refactor

* Refactoring

* refactor

* Add option to throw exception

* Update 8.0.300.md

* Update mailbox.fsi

---------

Co-authored-by: Vlad Zarytovskii <[email protected]>
Co-authored-by: Petr <[email protected]>
* Update ParseFile in TransparentCompiler

* Add unit tests

* Decrease cache size
…ions (#16882)

* Don't blow stack when traversing deep sequentials

* Sequential expressions are more likely than most other expression
  kinds to be deeply nested, e.g., in very large list or array
  expressions. Since `traverseSynExpr` is not tail-recursive, we must
  treat them specially to avoid blowing the stack.

* Update release notes

* Only when actually nested

* Update comments

* Only alloc seq when needed

* Add very big array test for AST traversal

---------

Co-authored-by: Vlad Zarytovskii <[email protected]>
Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.24161.1 -> To Version 8.0.0-beta.24165.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Fix StackOverflow in non-recursive bindings checker

* Release notes

* Automated command ran: fantomas

  Co-authored-by: vzarytovskii <[email protected]>

* Update src/Compiler/Checking/CheckDeclarations.fs

Remove commented-out code

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix a few more paren corner cases

* Match-like exprs in `if` exprs, `while` exprs, and `for` exprs. Also
  `let` exprs.

* Nested, dangling `as` patterns.

* Outlaw `match` exprs (where the first `|` is leftward of the `m` in
  `match)

* Single-line comments (`//`, `///`). Multiline comments (`(*…*)`)
  would be… rather more difficult to handle.

* Double-parenthesized tuples in method applications, since we can't
  tell purely syntactically whether the tuple might be the first
  parameter of a method whose next parameter is an implied outref
  parameter:
	  `x.TryGetValue ((y, z))`
	  i.e.,
	  `x.TryGetValue ((y, z), &value)`

* Multiline tuple patterns in `let`-bindings. These need parens if the
  bound expression starts on the same column.

* Handle typed pats in getters & setters

* Double parens oddities

* Sometimes we can't tell just by looking at the untyped AST whether we
  need parens, since their necessity may be dictated by type information
  located elsewhere. Compare, e.g., #16254,
  which probably has a similar underlying cause.

* Keep parens for parenzed app preceded by prefix op

* Keep parens around tuple in interp string

* More nested match fun

* No space when expr would reparse as prefix op

* No space when expr would reparse as prefix op

* No space when expr would reparse as prefix op

* Update release notes

* Remove unfinished multiline comment stuff

* Keep parens around dot-get that would be adjacent

* E.g., removing parens in place from

  ```fsharp
  Debug.Assert((xT.DeclaringType :?> ProvidedTypeDefinition).BelongsToTargetModel)
  ```

  would result in the the argument to `Assert` becoming
  `(xT.DeclaringType :?> ProvidedTypeDefinition)`. The
  `.BelongsToTargetModel` would then be parsed as a get on the return
  value of _that_ call.

* Fantomas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.