View source code
							
							
						
								Display the source code in std/conv.d from which this
								page was generated on github.
							
						
							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
								local clone.
							
						Template std.conv.castFrom
A wrapper on top of the built-in cast operator that allows one to restrict casting of the original type of the value.
						
				template castFrom(From)
				;
						
					
				A common issue with using a raw cast is that it may silently continue to compile even if the value's type has changed during refactoring, which breaks the initial assumption about the cast.
Contained Functions
| Name | Description | 
|---|---|
| to | 
Parameters
| Name | Description | 
|---|---|
| From | The type to cast from. The programmer must ensure it is legal to make this cast. | 
Example
// Regular cast, which has been verified to be legal by the programmer:
{
    long x;
    auto y = cast(int) x;
}
// However this will still compile if 'x' is changed to be a pointer:
{
    long* x;
    auto y = cast(int) x;
}
// castFrom provides a more reliable alternative to casting:
{
    long x;
    auto y = castFrom!longAuthors
Walter Bright, Andrei Alexandrescu, Shin Fujishiro, Adam D. Ruppe, Kenji Hara
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.