You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVGUIDE.md
+43Lines changed: 43 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,6 +102,49 @@ Running tests:
102
102
103
103
You can then open `FSharp.sln` in your editor of choice.
104
104
105
+
## Working with non-released .NET SDKs
106
+
107
+
This repository may require a non-released version of the .NET SDK, as specified in the `global.json` file. When the required SDK version is not publicly available through normal channels, you may encounter an error when running `dotnet build` directly:
108
+
109
+
```
110
+
The .NET SDK could not be found, please run ./eng/common/dotnet.sh.
111
+
```
112
+
113
+
### Setting up the correct SDK
114
+
115
+
Before using plain `dotnet build` commands, you need to install the required SDK version locally:
116
+
117
+
**On Linux/macOS:**
118
+
```shell
119
+
./eng/common/dotnet.sh
120
+
```
121
+
122
+
**On Windows:**
123
+
```shell
124
+
.\eng\common\dotnet.cmd
125
+
```
126
+
127
+
This downloads and installs the correct SDK version to a local `.dotnet` directory in the repository root.
128
+
129
+
### Using dotnet commands with the local SDK
130
+
131
+
After running the setup script once to install the SDK, you can use regular `dotnet` commands normally:
Copy file name to clipboardExpand all lines: src/Compiler/Checking/CheckPatterns.fs
+67-30Lines changed: 67 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -145,47 +145,84 @@ and ValidateOptArgOrder (synSimplePats: SynSimplePats) =
145
145
List.iter (fun pat ->if isOptArg pat then hitOptArg <-trueelif hitOptArg then error(Error(FSComp.SR.tcOptionalArgsMustComeAfterNonOptionalArgs(), m))) pats
146
146
147
147
148
-
/// Bind the patterns used in argument position for a function, method or lambda.
149
-
andTcSimplePats(cenv:cenv)optionalArgsOK checkConstraints ty env patEnv synSimplePats =
148
+
/// Bind the patterns used in the argument position for a function, method or lambda.
149
+
andTcSimplePats(cenv:cenv)optionalArgsOK checkConstraints ty env patEnv synSimplePats (parsedPatterns:SynPat list * bool)=
0 commit comments