# new proc

Source: https://ref.dm-lang.org/proc/new

### Format
> `new Type(Args)`

### Returns
> A reference to a new instance of Type.

### Args
- `Type`: The type of object to create.
- `Args`: Arguments for the Type.New() proc.


A new instance of Type is created. The arguments (Args) are passed to its New() proc. A handy short-cut: if Type is not specified and new() is being used in an assignment, the variable type of the left-hand-side will be used as the default type.

The atom types /area, /turf, /obj, and /mob all take a location argument specifying the initial position. If not specified, it defaults to null.

Newly created areas or turfs replace any existing area or turf at the specified location.

```dm /new/
obj/stick
mob/verb/magic_stick()
   var/obj/stick/S = new(src)  //create a stick in my inventory
   S.desc = "This is no ordinary stick!"
   view() << "[src] creates \an [S] from thin air!"
```

### See also
- [New proc (atom)](https://ref.dm-lang.org/atom/proc/New.md)
- [New proc (datum)](https://ref.dm-lang.org/datum/proc/New.md)
- [New proc (icon)](https://ref.dm-lang.org/icon/proc/New.md)
- [newlist proc](https://ref.dm-lang.org/proc/newlist.md)
- [path operators](https://ref.dm-lang.org/operator/path/index.md)
- [__IMPLIED_TYPE__ macro](https://ref.dm-lang.org/DM/preprocessor/__IMPLIED_TYPE__.md)
