Title: If a block inside a function contains `return`, all output is written to the pipeline, even if assigned to a variable · Issue #17836 · PowerShell/PowerShell · GitHub
Open Graph Title: If a block inside a function contains `return`, all output is written to the pipeline, even if assigned to a variable · Issue #17836 · PowerShell/PowerShell
X Title: If a block inside a function contains `return`, all output is written to the pipeline, even if assigned to a variable · Issue #17836 · PowerShell/PowerShell
Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerShell 5.1 and PowerShell. Steps to reprodu...
Open Graph Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
X Description: Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh...
Opengraph URL: https://github.com/PowerShell/PowerShell/issues/17836
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"If a block inside a function contains `return`, all output is written to the pipeline, even if assigned to a variable","articleBody":"### Prerequisites\n\n- [X] Write a descriptive title.\n- [X] Make sure you are able to repro it on the [latest released version](https://github.com/PowerShell/PowerShell/releases)\n- [X] Search the existing issues.\n- [X] Refer to the [FAQ](https://github.com/PowerShell/PowerShell/blob/master/docs/FAQ.md).\n- [X] Refer to [Differences between Windows PowerShell 5.1 and PowerShell](https://docs.microsoft.com/powershell/scripting/whats-new/differences-from-windows-powershell).\n\n### Steps to reproduce\n\nThe issue manifests whenever a function contains a block (if, foreach, try,...), which writes some output and then calls `return`. All output from the block is written into the output pipeline, even if the output of the block should be redirected into a variable, or a pipeline inside the function:\r\n\r\n```\r\nfunction x([switch]$p) {\r\n $null = foreach ($a in @(1)) {\r\n echo \"this should not be visible\"\r\n if ($p) {return}\r\n }\r\n}\r\n```\r\n```\r\nfunction y([switch]$p) {\r\n $null = try {echo \"this should not be visible\"; if ($p) {return}} catch {}\r\n}\r\n```\n\n### Expected behavior\n\n```console\nPS\u003e x\r\nPS\u003e y\r\nPS\u003e x -p\r\nPS\u003e y -p\n```\n\n\n### Actual behavior\n\n```console\nPS\u003e x\r\nPS\u003e y\r\nPS\u003e x -p\r\nthis should not be visible\r\nPS\u003e y -p\r\nthis should not be visible\n```\n\n\n### Error details\n\n_No response_\n\n### Environment data\n\n```powershell\nName Value\r\n---- -----\r\nPSVersion 7.3.0-preview.6\r\nPSEdition Core\r\nGitCommitId 7.3.0-preview.6\r\nOS Microsoft Windows 10.0.19044\r\nPlatform Win32NT\r\nPSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}\r\nPSRemotingProtocolVersion 2.3\r\nSerializationVersion 1.1.0.1\r\nWSManStackVersion 3.0\n```\n\n\n### Visuals\n\n_No response_","author":{"url":"https://github.com/MatejKafka","@type":"Person","name":"MatejKafka"},"datePublished":"2022-08-03T19:24:30.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":18},"url":"https://github.com/17836/PowerShell/issues/17836"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c111c746-5f68-4041-ab7b-abf917d6d0dc |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8722:2BF661:2A70497:3D69E56:6A551605 |
| html-safe-nonce | e91f3a19931c801939863c46a32fb4dbd226d9795f86cb702d43ccec5a2cbe79 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NzIyOjJCRjY2MToyQTcwNDk3OjNENjlFNTY6NkE1NTE2MDUiLCJ2aXNpdG9yX2lkIjoiNTUzNDY5NTI5MjY0ODM2MzUyNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 31b67b689f8711056c2e0bf6ecb16369901a6bced18a28890a700ff61867cf52 |
| hovercard-subject-tag | issue:1327686961 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/17836/issue_layout |
| twitter:image | https://opengraph.githubassets.com/edf9258e25add0207261ae59e2928a2fdc65bae8b95d563814671c6c8f851b90/PowerShell/PowerShell/issues/17836 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/edf9258e25add0207261ae59e2928a2fdc65bae8b95d563814671c6c8f851b90/PowerShell/PowerShell/issues/17836 |
| og:image:alt | Prerequisites Write a descriptive title. Make sure you are able to repro it on the latest released version Search the existing issues. Refer to the FAQ. Refer to Differences between Windows PowerSh... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | MatejKafka |
| hostname | github.com |
| expected-hostname | github.com |
| None | 682d273eacb2ac51680c6eb9c0b270f029f7ce74c32090f319083c34497e28a5 |
| turbo-cache-control | no-preview |
| go-import | github.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git |
| octolytics-dimension-user_id | 11524380 |
| octolytics-dimension-user_login | PowerShell |
| octolytics-dimension-repository_id | 49609581 |
| octolytics-dimension-repository_nwo | PowerShell/PowerShell |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 49609581 |
| octolytics-dimension-repository_network_root_nwo | PowerShell/PowerShell |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3b6d37c6470adadff4194742daaab9a817cc4980 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width