[XSG] Improve diagnostic reporting during binding compilation#32905
Merged
PureWeen merged 13 commits intoinflight/currentfrom Jan 14, 2026
Merged
[XSG] Improve diagnostic reporting during binding compilation#32905PureWeen merged 13 commits intoinflight/currentfrom
PureWeen merged 13 commits intoinflight/currentfrom
Conversation
Copilot
AI
changed the title
[WIP] Improve diagnostic reporting during binding compilation
[XSG] Improve diagnostic reporting during binding compilation
Nov 28, 2025
Member
simonrozsival
left a comment
There was a problem hiding this comment.
@copilot make these changes
src/Controls/src/SourceGen/TypeConverters/ColumnDefinitionCollectionConverter.cs
Show resolved
Hide resolved
Member
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR improves diagnostic reporting in the XAML source generator by replacing TODO comments and exception throws with proper diagnostic reporting that matches XamlC error codes. The changes enable developers to receive clear, actionable error and warning messages during XAML compilation.
Key Changes:
- Adds 6 new diagnostics (MAUIX2024, MAUIX2041-MAUIX2043, MAUIX2045, MAUIX2064) that correspond to XamlC error codes
- Replaces
return false; // TODO report diagnosticstatements with proper diagnostic calls in binding compilation - Replaces
throw new Exception("dup x:Name")with diagnostic reporting for duplicate name detection - Includes 4 unit tests validating the new diagnostic scenarios (though 2 diagnostics lack test coverage)
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Controls/src/SourceGen/CompiledBindingMarkup.cs | Replaces TODO comments with diagnostic reporting for binding compilation errors (indexer issues, property not found, unsupported types) |
| src/Controls/src/SourceGen/Descriptors.cs | Adds 6 new DiagnosticDescriptor definitions with appropriate IDs, severities, and localized messages |
| src/Controls/src/SourceGen/MauiGResources.resx | Adds localized resource strings for the new diagnostics with clear, user-friendly messages |
| src/Controls/src/SourceGen/xlf/MauiGResources.Designer.cs | Auto-generated designer file adding strongly-typed properties for accessing the new resource strings |
| src/Controls/src/SourceGen/KnownMarkups.cs | Replaces x:DataType outer scope TODO with proper warning diagnostic and includes minor whitespace formatting improvements |
| src/Controls/src/SourceGen/Visitors/SetNamescopesAndRegisterNames.cs | Replaces exception throw for duplicate x:Name with diagnostic reporting |
| src/Controls/src/SourceGen/AnalyzerReleases.Unshipped.md | Documents the 6 new diagnostics being added |
| src/Controls/tests/SourceGen.UnitTests/BindingDiagnosticsTests.cs | Adds 4 new unit tests validating diagnostic reporting for property not found, indexer errors, and duplicate names |
Files not reviewed (1)
- src/Controls/src/SourceGen/xlf/MauiGResources.Designer.cs: Language not supported
Member
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
Member
|
/azp run |
|
Azure Pipelines successfully started running 3 pipeline(s). |
StephaneDelcroix
previously approved these changes
Dec 1, 2025
ba47df7 to
0fae51c
Compare
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com>
Downgrade MAUIG2041 (BindingIndexerNotClosed), MAUIG2042 (BindingIndexerEmpty), MAUIG2043 (BindingIndexerTypeUnsupported), and MAUIG2045 (BindingPropertyNotFound) from Error to Warning severity. This allows builds to succeed while still notifying developers of binding issues that will fall back to reflection-based bindings at runtime.
This reverts commit 45641cf.
Modified SourceGenContext.ReportDiagnostic to check the NoWarn metadata from XAML files and suppress matching diagnostic IDs. This allows per-file suppression of source generator diagnostics (like MAUIG2043 and MAUIG2045). Added NoWarn entries for XAML unit test files that intentionally have invalid bindings to test fallback to reflection-based bindings. Also fixed Maui32879Tests to include the #pragma warning disable CS0219 line that was added in recent changes.
The BindingPropertyNotFound diagnostic is now a Warning instead of Error because the MAUI source generator cannot always see properties generated by other source generators (e.g., CommunityToolkit.Mvvm's [ObservableProperty] or custom bindable property generators). While this diagnostic might indicate a typo in the binding path, it could also be a valid property that will exist at runtime but is not visible during the MAUI XAML compilation phase due to source generator execution ordering. When this warning occurs: - The binding compilation falls back to reflection-based binding (slower) - The binding will work correctly at runtime if the property exists - Users are informed that the property might be source-generated - Users are encouraged to report issues to help improve interoperability Changes: - Updated Descriptors.cs: Error -> Warning severity with explanatory comments - Updated MauiGResources.resx: Enhanced message to explain the limitation - Updated AnalyzerReleases.Unshipped.md: Reflected severity change - Updated test expectations: DiagnosticSeverity.Error -> Warning - Removed NoWarn entries: No longer needed since it's a warning - Added inline comments explaining the reasoning in code
5a8f59e to
6f682dd
Compare
This was referenced Jan 15, 2026
Open
github-actions bot
pushed a commit
that referenced
this pull request
Jan 16, 2026
- [x] Analyze the issue - understand TODOs in binding compilation logic - [x] Identify files to modify: `CompiledBindingMarkup.cs`, `KnownMarkups.cs`, `Descriptors.cs`, `MauiGResources.resx`, etc. - [x] Build and test baseline (100 tests passing) - [x] Add new diagnostic descriptors for binding-related errors (matching XamlC error codes) - MAUIG2041: BindingIndexerNotClosed (matching XC0041) - MAUIG2042: BindingIndexerEmpty (matching XC0042) - MAUIG2043: BindingIndexerTypeUnsupported (matching XC0043) - MAUIG2045: BindingPropertyNotFound (matching XC0045) - MAUIG2024: BindingWithXDataTypeFromOuterScope warning (matching XC0024) - MAUIG2064: NamescopeDuplicate (matching XC0064) - [x] Replace `return false; // TODO report diagnostic` with actual diagnostic reporting - [x] Replace `throw new Exception` with diagnostic reporting - [x] Update resource strings to match XamlC messages - [x] Add unit tests for the new diagnostics (6 tests) - [x] Update AnalyzerReleases.Unshipped.md - [x] Build and test (147 tests passing) - [x] Run code review and address feedback - [x] Run CodeQL checker (no security issues found) - [x] Revert unrelated formatting changes - [x] Fix alignment in Descriptors.cs - [x] Change diagnostic prefix from MAUIX to MAUIG per reviewer feedback - [x] Remove unreachable code in CompiledBindingMarkup.cs - [x] Add missing test scenarios for MAUIG2024 and MAUIG2043 diagnostics - [x] Support NoWarn metadata for source generator diagnostics - [x] Add MAUIG2045 to NoWarn for test XAML files with intentional binding errors - [x] Address latest code review feedback: - Refactored repeated indexer lookup pattern into reusable local function - Removed localized message checks from diagnostic tests - Fixed IndexerBindings test assertions to properly validate lambda context using regex patterns that match actual generated code structure <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[XSG] Improve diagnostic reporting during binding compilation</issue_title> > <issue_description>We left several todos in the binding compilation logic in the XAML source generator. We should try to match the warnings and errors produced by XamlC, just with an adjusted error code.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> - Fixes #32904 <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com> Co-authored-by: Simon Rozsival <simon@rozsival.com>
github-actions bot
pushed a commit
that referenced
this pull request
Jan 20, 2026
- [x] Analyze the issue - understand TODOs in binding compilation logic - [x] Identify files to modify: `CompiledBindingMarkup.cs`, `KnownMarkups.cs`, `Descriptors.cs`, `MauiGResources.resx`, etc. - [x] Build and test baseline (100 tests passing) - [x] Add new diagnostic descriptors for binding-related errors (matching XamlC error codes) - MAUIG2041: BindingIndexerNotClosed (matching XC0041) - MAUIG2042: BindingIndexerEmpty (matching XC0042) - MAUIG2043: BindingIndexerTypeUnsupported (matching XC0043) - MAUIG2045: BindingPropertyNotFound (matching XC0045) - MAUIG2024: BindingWithXDataTypeFromOuterScope warning (matching XC0024) - MAUIG2064: NamescopeDuplicate (matching XC0064) - [x] Replace `return false; // TODO report diagnostic` with actual diagnostic reporting - [x] Replace `throw new Exception` with diagnostic reporting - [x] Update resource strings to match XamlC messages - [x] Add unit tests for the new diagnostics (6 tests) - [x] Update AnalyzerReleases.Unshipped.md - [x] Build and test (147 tests passing) - [x] Run code review and address feedback - [x] Run CodeQL checker (no security issues found) - [x] Revert unrelated formatting changes - [x] Fix alignment in Descriptors.cs - [x] Change diagnostic prefix from MAUIX to MAUIG per reviewer feedback - [x] Remove unreachable code in CompiledBindingMarkup.cs - [x] Add missing test scenarios for MAUIG2024 and MAUIG2043 diagnostics - [x] Support NoWarn metadata for source generator diagnostics - [x] Add MAUIG2045 to NoWarn for test XAML files with intentional binding errors - [x] Address latest code review feedback: - Refactored repeated indexer lookup pattern into reusable local function - Removed localized message checks from diagnostic tests - Fixed IndexerBindings test assertions to properly validate lambda context using regex patterns that match actual generated code structure <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[XSG] Improve diagnostic reporting during binding compilation</issue_title> > <issue_description>We left several todos in the binding compilation logic in the XAML source generator. We should try to match the warnings and errors produced by XamlC, just with an adjusted error code.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> - Fixes #32904 <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com> Co-authored-by: Simon Rozsival <simon@rozsival.com>
github-actions bot
pushed a commit
that referenced
this pull request
Jan 21, 2026
- [x] Analyze the issue - understand TODOs in binding compilation logic - [x] Identify files to modify: `CompiledBindingMarkup.cs`, `KnownMarkups.cs`, `Descriptors.cs`, `MauiGResources.resx`, etc. - [x] Build and test baseline (100 tests passing) - [x] Add new diagnostic descriptors for binding-related errors (matching XamlC error codes) - MAUIG2041: BindingIndexerNotClosed (matching XC0041) - MAUIG2042: BindingIndexerEmpty (matching XC0042) - MAUIG2043: BindingIndexerTypeUnsupported (matching XC0043) - MAUIG2045: BindingPropertyNotFound (matching XC0045) - MAUIG2024: BindingWithXDataTypeFromOuterScope warning (matching XC0024) - MAUIG2064: NamescopeDuplicate (matching XC0064) - [x] Replace `return false; // TODO report diagnostic` with actual diagnostic reporting - [x] Replace `throw new Exception` with diagnostic reporting - [x] Update resource strings to match XamlC messages - [x] Add unit tests for the new diagnostics (6 tests) - [x] Update AnalyzerReleases.Unshipped.md - [x] Build and test (147 tests passing) - [x] Run code review and address feedback - [x] Run CodeQL checker (no security issues found) - [x] Revert unrelated formatting changes - [x] Fix alignment in Descriptors.cs - [x] Change diagnostic prefix from MAUIX to MAUIG per reviewer feedback - [x] Remove unreachable code in CompiledBindingMarkup.cs - [x] Add missing test scenarios for MAUIG2024 and MAUIG2043 diagnostics - [x] Support NoWarn metadata for source generator diagnostics - [x] Add MAUIG2045 to NoWarn for test XAML files with intentional binding errors - [x] Address latest code review feedback: - Refactored repeated indexer lookup pattern into reusable local function - Removed localized message checks from diagnostic tests - Fixed IndexerBindings test assertions to properly validate lambda context using regex patterns that match actual generated code structure <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[XSG] Improve diagnostic reporting during binding compilation</issue_title> > <issue_description>We left several todos in the binding compilation logic in the XAML source generator. We should try to match the warnings and errors produced by XamlC, just with an adjusted error code.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> - Fixes #32904 <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com> Co-authored-by: Simon Rozsival <simon@rozsival.com>
github-actions bot
pushed a commit
that referenced
this pull request
Jan 23, 2026
- [x] Analyze the issue - understand TODOs in binding compilation logic - [x] Identify files to modify: `CompiledBindingMarkup.cs`, `KnownMarkups.cs`, `Descriptors.cs`, `MauiGResources.resx`, etc. - [x] Build and test baseline (100 tests passing) - [x] Add new diagnostic descriptors for binding-related errors (matching XamlC error codes) - MAUIG2041: BindingIndexerNotClosed (matching XC0041) - MAUIG2042: BindingIndexerEmpty (matching XC0042) - MAUIG2043: BindingIndexerTypeUnsupported (matching XC0043) - MAUIG2045: BindingPropertyNotFound (matching XC0045) - MAUIG2024: BindingWithXDataTypeFromOuterScope warning (matching XC0024) - MAUIG2064: NamescopeDuplicate (matching XC0064) - [x] Replace `return false; // TODO report diagnostic` with actual diagnostic reporting - [x] Replace `throw new Exception` with diagnostic reporting - [x] Update resource strings to match XamlC messages - [x] Add unit tests for the new diagnostics (6 tests) - [x] Update AnalyzerReleases.Unshipped.md - [x] Build and test (147 tests passing) - [x] Run code review and address feedback - [x] Run CodeQL checker (no security issues found) - [x] Revert unrelated formatting changes - [x] Fix alignment in Descriptors.cs - [x] Change diagnostic prefix from MAUIX to MAUIG per reviewer feedback - [x] Remove unreachable code in CompiledBindingMarkup.cs - [x] Add missing test scenarios for MAUIG2024 and MAUIG2043 diagnostics - [x] Support NoWarn metadata for source generator diagnostics - [x] Add MAUIG2045 to NoWarn for test XAML files with intentional binding errors - [x] Address latest code review feedback: - Refactored repeated indexer lookup pattern into reusable local function - Removed localized message checks from diagnostic tests - Fixed IndexerBindings test assertions to properly validate lambda context using regex patterns that match actual generated code structure <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[XSG] Improve diagnostic reporting during binding compilation</issue_title> > <issue_description>We left several todos in the binding compilation logic in the XAML source generator. We should try to match the warnings and errors produced by XamlC, just with an adjusted error code.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> - Fixes #32904 <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com> Co-authored-by: Simon Rozsival <simon@rozsival.com>
PureWeen
pushed a commit
that referenced
this pull request
Jan 23, 2026
- [x] Analyze the issue - understand TODOs in binding compilation logic - [x] Identify files to modify: `CompiledBindingMarkup.cs`, `KnownMarkups.cs`, `Descriptors.cs`, `MauiGResources.resx`, etc. - [x] Build and test baseline (100 tests passing) - [x] Add new diagnostic descriptors for binding-related errors (matching XamlC error codes) - MAUIG2041: BindingIndexerNotClosed (matching XC0041) - MAUIG2042: BindingIndexerEmpty (matching XC0042) - MAUIG2043: BindingIndexerTypeUnsupported (matching XC0043) - MAUIG2045: BindingPropertyNotFound (matching XC0045) - MAUIG2024: BindingWithXDataTypeFromOuterScope warning (matching XC0024) - MAUIG2064: NamescopeDuplicate (matching XC0064) - [x] Replace `return false; // TODO report diagnostic` with actual diagnostic reporting - [x] Replace `throw new Exception` with diagnostic reporting - [x] Update resource strings to match XamlC messages - [x] Add unit tests for the new diagnostics (6 tests) - [x] Update AnalyzerReleases.Unshipped.md - [x] Build and test (147 tests passing) - [x] Run code review and address feedback - [x] Run CodeQL checker (no security issues found) - [x] Revert unrelated formatting changes - [x] Fix alignment in Descriptors.cs - [x] Change diagnostic prefix from MAUIX to MAUIG per reviewer feedback - [x] Remove unreachable code in CompiledBindingMarkup.cs - [x] Add missing test scenarios for MAUIG2024 and MAUIG2043 diagnostics - [x] Support NoWarn metadata for source generator diagnostics - [x] Add MAUIG2045 to NoWarn for test XAML files with intentional binding errors - [x] Address latest code review feedback: - Refactored repeated indexer lookup pattern into reusable local function - Removed localized message checks from diagnostic tests - Fixed IndexerBindings test assertions to properly validate lambda context using regex patterns that match actual generated code structure <!-- START COPILOT CODING AGENT SUFFIX --> <details> <summary>Original prompt</summary> > > ---- > > *This section details on the original issue you should resolve* > > <issue_title>[XSG] Improve diagnostic reporting during binding compilation</issue_title> > <issue_description>We left several todos in the binding compilation logic in the XAML source generator. We should try to match the warnings and errors produced by XamlC, just with an adjusted error code.</issue_description> > > ## Comments on the Issue (you are @copilot in this section) > > <comments> > </comments> > </details> - Fixes #32904 <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: simonrozsival <374616+simonrozsival@users.noreply.github.com> Co-authored-by: Simon Rozsival <simon@rozsival.com>
PureWeen
added a commit
that referenced
this pull request
Jan 25, 2026
## What's Coming .NET MAUI inflight/candidate introduces significant improvements across all platforms with focus on quality, performance, and developer experience. This release includes 16 commits with various improvements, bug fixes, and enhancements. ## Checkbox - [Android] Implement material3 support for CheckBox by @HarishwaranVijayakumar in #33339 <details> <summary>🔧 Fixes</summary> - [Implement Material3 Support for CheckBox](#33338) </details> ## CollectionView - [Android] Fixed EmptyView doesn’t display when CollectionView is placed inside a VerticalStackLayout by @NanthiniMahalingam in #33134 <details> <summary>🔧 Fixes</summary> - [CollectionView does not show an EmptyView template with an empty collection](#32932) </details> ## Essentials - [Windows]Fix NullReferenceException in OpenReadAsync for FileResult created with full path by @devanathan-vaithiyanathan in #28238 <details> <summary>🔧 Fixes</summary> - [[Windows] FileResult(string fullPath) not initialized properly](#26858) </details> ## Image - Fix Glide IllegalArgumentException in MauiCustomTarget.clear() for destroyed activities by @jfversluis via @Copilot in #29780 <details> <summary>🔧 Fixes</summary> - [java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity - glide](#29699) </details> ## Label - [Android] Fix for Label WordWrap width issue causing HorizontalOptions misalignment by @praveenkumarkarunanithi in #33281 <details> <summary>🔧 Fixes</summary> - [[Android] Unexpected Line Breaks in Android, Label with WordWrap Mode Due to Trailing Space.](#31782) - [Label not sized correctly on Android](#27614) </details> - Fix to Improve Flyout Accessibility by Adjusting UITableViewController Labels by @SuthiYuvaraj in #31619 <details> <summary>🔧 Fixes</summary> - [Navigation section present under hamburger are programmatically define as table :A11y_.NET maui_User can get all the insights of Dashboard_Devtools](#30894) </details> ## Mediapicker - [Regression][iOS] Fix MediaPicker PickPhotosAsync getting file name in contentType property by @devanathan-vaithiyanathan in #33390 <details> <summary>🔧 Fixes</summary> - [[iOS] MediaPicker PickPhotosAsync getting file name in contentType property](#33348) </details> ## Navigation - Fix handler not disconnected when removing non visible pages using RemovePage() by @Vignesh-SF3580 in #32289 <details> <summary>🔧 Fixes</summary> - [NavigationPage.Navigation.RemovePage() fails to disconnect handlers when removing pages, unlike ContentPage.Navigation.RemovePage()](#32239) </details> ## Picker - [Android] Fix Picker IsOpen not reset when picker is dismissed by @devanathan-vaithiyanathan in #33332 <details> <summary>🔧 Fixes</summary> - [[Android] Picker IsOpen not reset when picker is dismissed](#33331) </details> ## Shell - [iOS & Catalyst ] Fixed IsEnabled property should work on Tabs by @SubhikshaSf4851 in #33369 <details> <summary>🔧 Fixes</summary> - [[Catalyst] TabBarBackgroundColor, TabBarUnselectedColor, and IsEnabled Not Working as Expected in Shell](#33158) </details> - [iOS,Windows] Fix navigation bar colors not resetting when switching ShellContent by @Vignesh-SF3580 in #33228 <details> <summary>🔧 Fixes</summary> - [[iOS, Windows] Shell Navigation bar colors are not updated correctly when switching ShellContent](#33227) </details> - [iOS] Fixed Shell navigation on search handler suggestion selection by @SubhikshaSf4851 in #33406 <details> <summary>🔧 Fixes</summary> - [[iOS] Clicking on search suggestions fails to navigate to detail page correctly](#33356) </details> ## Templates - Fix VoiceOver doesnot announces the State of the ComboBox by @SuthiYuvaraj in #32286 ## Xaml - [XSG][BindingSourceGen] Add support for CommunityToolkit.Mvvm ObservablePropertyAttribute by @simonrozsival via @Copilot in #33028 <details> <summary>🔧 Fixes</summary> - [[XSG] Add heuristic to support bindable properties generated by other source generators](#32597) </details> <details> <summary>📦 Other (2)</summary> - [XSG] Improve diagnostic reporting during binding compilation by @simonrozsival via @Copilot in #32905 - [Testing] Fixed Test case failure in PR 33574 - [01/19/2026] Candidate - 1 by @TamilarasanSF4853 in #33602 </details> **Full Changelog**: main...inflight/candidate
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
CompiledBindingMarkup.cs,KnownMarkups.cs,Descriptors.cs,MauiGResources.resx, etc.return false; // TODO report diagnosticwith actual diagnostic reportingthrow new Exceptionwith diagnostic reportingOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.