Skip to content

Conversation

@josesimoes
Copy link
Member

@josesimoes josesimoes commented Nov 20, 2025

Description

  • Add related classes.
  • Add unit tests.
  • Bump native assembly version.
  • Update nuspec.

Motivation and Context

How Has This Been Tested?

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
  • I have added new tests to cover my changes.

@coderabbitai
Copy link

coderabbitai bot commented Nov 20, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch add-generic-list

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@josesimoes josesimoes requested a review from Copilot November 20, 2025 17:36
@josesimoes josesimoes changed the title Add List<T> and related classes Add List<T> and related classes Nov 20, 2025
Copilot finished reviewing on behalf of josesimoes November 20, 2025 17:37
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request adds the List<T> generic collection class and related interfaces to nanoFramework.System.Collections, addressing issue #782. The implementation includes comprehensive unit tests and updates dependencies to preview versions of nanoFramework.CoreLibrary (2.0.0-preview.20) and TestFramework (4.0.0-preview.44).

  • Implements List<T> with standard collection operations (Add, Remove, Insert, Clear, etc.)
  • Adds supporting generic interfaces: ICollection<T>, IList<T>, IReadOnlyCollection<T>, and IReadOnlyList<T>
  • Includes 39 comprehensive unit tests covering various scenarios
  • Updates native assembly version from 100.0.2.0 to 100.0.3.0

Reviewed Changes

Copilot reviewed 27 out of 27 changed files in this pull request and generated 18 comments.

Show a summary per file
File Description
nanoFramework.System.Collections/Collections/Generic/List.cs New List implementation with full collection functionality
nanoFramework.System.Collections/Collections/Generic/ICollection.cs Generic collection interface definition
nanoFramework.System.Collections/Collections/Generic/IList.cs Generic list interface definition
nanoFramework.System.Collections/Collections/Generic/IReadOnlyCollection.cs Read-only collection interface
nanoFramework.System.Collections/Collections/Generic/IReadOnlyList.cs Read-only list interface
nanoFramework.System.Collections/Collections/Generic/ICollectionDebugView.cs Debug visualizer helper class
nanoFramework.System.Collections/Properties/AssemblyInfo.cs Bumps native assembly version to 100.0.3.0
Tests/GenericCollections/ListTests.cs Comprehensive unit tests for List (39 test methods)
nanoFramework.System.Collections/packages.config Updates CoreLibrary to 2.0.0-preview.20
nanoFramework.System.Collections.nuspec Updates CoreLibrary dependency to match
Tests/*/packages.config Updates test dependencies to preview versions
Comments suppressed due to low confidence (1)

nanoFramework.System.Collections/Collections/Generic/List.cs:313

  • Condition always evaluates to 'true'.
            if (true) // RuntimeHelpers.IsReferenceOrContainsReferences<T>())

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI commented Nov 20, 2025

@josesimoes I've opened a new pull request, #154, to work on those changes. Once the pull request is ready, I'll request review from you.

josesimoes and others added 10 commits November 20, 2025 20:09
- Add unit tests.
- Bump native assembly version.
- Update nuspec
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Now using a struct including value types containing references.
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 20, 2025

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarQube Cloud

@josesimoes josesimoes merged commit 8e2d410 into develop Nov 20, 2025
9 checks passed
@josesimoes josesimoes deleted the add-generic-list branch November 20, 2025 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants