Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabling some runtime checks in release mode #2809

Closed
5nyper opened this issue May 26, 2015 · 5 comments
Closed

Enabling some runtime checks in release mode #2809

5nyper opened this issue May 26, 2015 · 5 comments
Labels

Comments

@5nyper
Copy link

5nyper commented May 26, 2015

I suggest we have some options in release mode that have little impact to it's performance yet have bounds checking and null dereferencing checks on by default. The reason being is that currently, the '-d:release' option disables all runtime checks, even those that have a relatively minor impact on performance. Considering the prevalence of buffer-overflow and off-by-one bugs in programs and libraries, I would like to suggest that the default configuration file be modified such that release mode doesn't turn off bounds-checking. Even if programmers perform standard testing of their programs, buffer overflow errors can still happen in unlikely scenarios and thus unlikely to be tested.

@Varriount
Copy link
Contributor

Anyone against this change?

@Araq
Copy link
Member

Araq commented Jun 1, 2015

Yes. I am. Instead we need a proper debug/release/safety split where -d:safety enables all these fear based things.

@5nyper
Copy link
Author

5nyper commented Jun 1, 2015

So basically instead of having it enabled in the -d:release flag we create a separate flag to enable the run-time checks in release mode?

@narimiran
Copy link
Member

Can we close this?

@5nyper 5nyper closed this as completed Oct 8, 2018
@FedericoCeratto
Copy link
Member

See nim-lang/RFCs#4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants