Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

# core.internal.array.utils

This module contains utility functions to help the implementation of the runtime hook
License:
Distributed under the Boost Software License 1.0. (See accompanying file LICENSE)

Source core/internal/array/utils.d

pure @trusted auto `_d_HookTraceImpl`(T, alias Hook, string errorMessage)(string `file`, int `line`, string `funcname`, Parameters!Hook `parameters`);
  TraceGC wrapper around runtime hook Hook.
  Parameters:

  T | Type of hook to report to accumulate
  Hook | The hook to wrap
  errorMessage | The error message incase version != D_TypeInfo
  string `file` | File that called `_d_HookTraceImpl`
  int `line` | Line inside of `file` that called `_d_HookTraceImpl`
  string `funcname` | Function that called `_d_HookTraceImpl`
  Parameters!Hook `parameters` | Parameters that will be used to call Hook

  Bugs:
  This function template needs be between the compiler and a much older runtime hook that bypassed safety, purity, and throwabilty checks. To prevent breaking existing code, this function template is temporarily declared @trusted pure until the implementation can be brought up to modern D expectations.
enum auto `isNoThrow`(alias F);
  Check if the function F is calleable in a nothrow scope.
  Parameters:

  F | Function that does not take any parameters

  Returns:
  if the function is callable in a nothrow scope.
template `isPostblitNoThrow`(T)
  Check if the type T's postblit is called in nothrow, if it exist
  Parameters:

  T | Type to check

  Returns:
  if the postblit is callable in a nothrow scope, if it exist. if it does not exist, return true.

Copyright © 1999-2022 by the D Language Foundation | Page generated by Ddoc on Sat Sep 10 10:03:08 2022