question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Proposals for bindings -- NRTs and C# syntax

See original GitHub issue

We will soon merge #1243, which will enable nullable reference types for the repo (or large parts of it). Going forward, I think we should consider the following requirements:

  • Projects must enable nullable reference types to be accepted.
  • Projects should use single line using statements (for dispose) unless there is a reason to require scoping.
  • Sample projects should target .NET 5.0 and use top-level programs, unless there is a good reason not to. Test projects should also target .NET 5.0.
  • Name sample apps Program.cs, unless there are multiple sample projects in the same directory.

I mention these things, because they describe most of the fixes I made in #1243, with the goal of making the codebase modern and easier to read.

On a broader note, 5.0 will go out of support in ~ March 2022 and 3.1 in December 2022. It would be really nice to start using C# 9 or even C# 10 features throughout the codebase. Records would be the most obvious feature to take advantage of, particularly for all the models typically defined by bindings. I’d like to start doing that before the end of 2022 but don’t want to give up on compatibility either. We should determine if there are creative ways to enable moving the codebase to use newer features.

Any thoughts on these ideas?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:11 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
richlandercommented, Nov 13, 2020

This plan shouldn’t break nano support. Generics are presumably a bigger issue than records and NRTs.

0reactions
krwqcommented, Jan 11, 2021

Closing this as fixed. If there is anything left please create new issues with specific work items

Read more comments on GitHub >

github_iconTop Results From Across the Web

Thoughts on Pattern Matching using `is` and `as` - Herb Sutter
https://cppcon.org/ https://github.com/CppCon/CppCon2021 --- C ++20 is a unique historic milestone: It's the first edition of Standard C++ ...
Read more >
Syntax and Language | Cerebral CortexPrinciples of Operation
In this situation, I now make alternative proposals for how syntactic relations are encoded in the cortex (see Rolls and Deco (2015a)). 17.1.2...
Read more >
Examining Three-way Binding as a Constraint on Statistical ...
For example, in an AB/CD condition, participants are shown item A and B paired in the first list and, C and D paired...
Read more >
CUDA Bindings - Numba documentation
CUDA Bindings . Numba supports two bindings to the CUDA Driver APIs: its own internal bindings based on ctypes, and the official NVIDIA...
Read more >
A Dynamic Binding Strategy for Multiple Inheritance and ...
In the syntax, the keyword inherits is introduced followed by an inheritance list; i.e., a list of class names C(E) where E provides...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found